导航:首页 > 编程语言 > java读取web项目文件

java读取web项目文件

发布时间:2022-09-26 23:14:16

javaweb项目读取本机文件问题

服务器端不能直接获取客户端的文件,你需要让用户上传文件到服务器,然后处理服务器的文件

Ⅱ java web工程,读取配置文件路径问题

读取配置文件 , xxx.properties放在webroot/WEB-INF/classes/目录下

首先将配置文件转换成InputStream,有两种方式,原理一样,都是通过类加载器得到资源:

(1)InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xx.properties");
(2) InputStream inputStream =
this.getClass() .getClassLoader().getResourceAsStream( "xx.properties" );
调用对象的getClass()方法是获得对象当前的类类型,这部分数据存在方法区中,
而后在类类型上调用 getClassLoader()方法是得到当前类型的类加载器,我们知道在Java中所有的类都是通过加载器加载到虚拟机中的,而且类加载器之间存在父 子关系,就是子知道父,父不知道子,这样不同的子加载的类型之间是无法访问的(虽然它们都被放在方法区中),所以在这里通过当前类的加载器来加载资源也就 是保证是和类类型同一个加载器加载的。
最后调用了类加载器的getResourceAsStream()方法来加载资源。

(3) 然后加载配置文件,读取属性值
Properties prop = new Properties();
prop.load(input);
String value = prop.getProperty("PropertyName");

input.close();

Ⅲ web项目中如何用java读取properties文件

如下
E:\blsh\Tomcat
6.0\webapps\bucea_drms\WEB-INF\conf\drms_config.xml
项目发布的路径。
Properties
p
=
new
Properties();
FileInputStream
in
=
new
FileInputStream(configFileString);
//
如果此处直接
使用
visitFile
会报错,找不到文件。
p.load(in);
p.getProperty("name");//
获取属性值
in.close();
FileOutputStream
out
=
new
FileOutputStream(configFileString);
p.setProperty("siteVisit",siteVisit);//
修改属性
p.setProperty("resVisit",
resVisit);
p.store(out,
"
visit
update!");//
存储修改后属性out.close();

Ⅳ java怎么获取web资源文件

1、一般工程中使用I/O类指定文件的绝对路径读取
FileInputStream fis = new FileInputStream("src/main/resources/zsm.properties");
ppt.load(fis);
String memAddr1 = ppt.getProperty("memAddr1");
2、Web工程中可以使用ServletContext或ClassLoader来读取
2.1、通过ServletContext来读取资源文件,文件路径是相对于web项目(如/JspServletFeature)根路径而言的。
2.2、通过ClassLoader来读取,文件路径是相对于类目录而言的(maven工程中一般为/target/classes)
示例如下
(1)文件位置
放在src目录(或其子目录)下是相对于项目根目录如JspServletFeature的路径
放在JavaResources下是相对于类目录即classes的目录
(2)代码
// 使用servletContext读取资源文件,相对于web项目的根路径(即JspServletFeature)
out.println("\n使用servletContext读取资源文件,相对于web项目的根路径(即JspServletFeature):");
readFileByServletContext(response, "FileReadFile1.properties");
readFileByServletContext(response, "/FileReadFile1.properties");
readFileByServletContext(response, "WEB-INF/classes/FileReadFile2.properties");
readFileByServletContext(response, "/WEB-INF/classes/FileReadFile2.properties");

Ⅳ web项目中如何用java读取properties文件

public void update(){try{ServletContext context = request.getSession().getServletContext(); String configFileString = context.getRealPath(visitFile); // 通过context.getRealPath(visitFile)获取的就是文件所在的具体路径。如下 E:\blsh\Tomcat 6.0\webapps\bucea_drms\WEB-INF\conf\drms_config.xml 项目发布的路径。 Properties p = new Properties();
FileInputStream in = new FileInputStream(configFileString); // 如果此处直接 使用 visitFile 会报错,找不到文件。
p.load(in);
p.getProperty("name");// 获取属性值
in.close();
FileOutputStream out = new FileOutputStream(configFileString);
p.setProperty("siteVisit",siteVisit);// 修改属性
p.setProperty("resVisit", resVisit);
p.store(out, " visit update!");// 存储修改后属性
out.close();

Ⅵ java web中读取文件,相对路径怎么写

相对路径的话,可以先获取到当前文件的编译路径,之后在找到想找文件的路径的思路来实现。
举例:
XMLS.class.getClass().getResourceAsStream("/test/test.txt");
解释:XMLS.class.getClass()是获取当前的类编译路径,之后通过getResourceAsStream的形式即可找到要读取的文件的路径。
备注:这个方法中后面的路径也可以通过截取的形式来进行路径获取,实现原理都是找到当前类路径,之后通过相对位置找到另外文件路径。

Ⅶ java 怎么读取web jar中的某个配置文件

项目迁移的过程中发现以前的代码维护性实在是差。
我把问题简化为以下这些简单的代码:
项目M
引用了项目
A.jar,这个A在lib目录里面
在A里面放置了一个配置文件test.properties,
就放在jar的根目录下。
A.jar
|___test.properties
在M中有一段代码回去读取这个A.jar里的配置文件,简单一点就用下面这句话来调用。
Java
code
public
class
ConfigUtil
{
public
static
String
getInstance()
throws
Exception{
String
path
=
ConfigUtil.class.getResource("/").toString();
path
=
path.substring(0,
path.length()-8);//
System.out.println(path);//这里打印的结果显示可以拿到当前类的绝对路径
InputStream
f
=
new
FileInputStream("jar:"+path+"lib!/A.jar/"+"test.properties");
return
"xxx";
}
}

Ⅷ 如何使用java自动读取web项目中的excel文件

package com.bjhz.gcp.common.util;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
*
* 导出EXCEL
* @author Herenqing
*
*/
public class WritExcel {

public static final Integer WRIT_TITLE = 1;

public static final Integer NO_WRIT_TITLE = 0;

private static String format = "yyyy-MM-dd HH:mm:ss";

private static String nullDisplay = "";

private List<String> columnName = new ArrayList<String>();

private Map<String, String> columnObject = new HashMap<String, String>();

private String savePath;

private OutputStream outputStream;

/**
* 构造写入EXCEL的路径
* 使用 put 方法创建导出的内容
* 使用 writ 方法将对象写入EXCEL
* @param savePath
* @throws FileNotFoundException
*/
public WritExcel(String savePath) {
this.savePath = savePath;
}

/**
* 构造写入EXCEL的路径
* 使用 put 方法创建导出的内容
* 使用 writOutputStream 方法将对象写入 HSSFWorkbook
* @param savePath
* @throws FileNotFoundException
*/
/*public WritExcel() {
}*/

/**
* 构建导出顺序及导出字段
* @param key 导出字段名
* @param value 表头
*/
public void put(String key,String value) {
this.columnName.add(key);
this.columnObject.put(key, value);
}

/**
* 写入EXCEL
* @param <T> 写入EXCEL的对象类型
* @param objects 写入EXCEL的对象
* @param model 写不写表头
* @throws IOException
* @throws InvocationTargetException
* @throws IllegalAccessException
* @throws IllegalArgumentException
*/
public <T> void writ(List<T> objects,Integer model) throws IOException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
// 创建一个Excel
HSSFWorkbook book = new HSSFWorkbook();
// 创建一个工作簿
HSSFSheet sheet = book.createSheet();
// 设置工作簿的默认列宽
sheet.setDefaultColumnWidth(30);
Integer start = 0;
if (model == WRIT_TITLE) {
HSSFCellStyle titleStyle = buildTitleStyle(book);
writExcelTitle(sheet,titleStyle);
start = WRIT_TITLE;
}
HSSFCellStyle columnStyle = buildColumnStyle(book);
writExcelColumn(objects,start,sheet,columnStyle);
outputStream = new FileOutputStream(savePath);
book.write(outputStream);
outputStream.close();
}

/**
* 写入EXCEL
* @param <T> 写入EXCEL的对象类型
* @param objects 写入EXCEL的对象
* @param model 写不写表头
* @throws IOException
* @throws InvocationTargetException
* @throws IllegalAccessException
* @throws IllegalArgumentException
*/
/*public <T> HSSFWorkbook writOutputStream(List<T> objects,Integer model) throws IOException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
// 创建一个Excel
HSSFWorkbook book = new HSSFWorkbook();
// 创建一个工作簿
HSSFSheet sheet = book.createSheet();
// 设置工作簿的默认列宽
sheet.setDefaultColumnWidth((short)30);
Integer start = 0;
if (model == WRIT_TITLE) {
HSSFCellStyle titleStyle = buildTitleStyle(book);
writExcelTitle(sheet,titleStyle);
start = WRIT_TITLE;
}
HSSFCellStyle columnStyle = buildColumnStyle(book);
writExcelColumn(objects,start,sheet,columnStyle);
return book;
}*/

/**
* 使用内容样式
* @return
*/
private HSSFCellStyle buildColumnStyle(HSSFWorkbook book){
// 设置样式
HSSFCellStyle columnStyle = book.createCellStyle();
//titleStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
//titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
//titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
columnStyle.setLeftBorderColor(HSSFCellStyle.BORDER_THIN);
columnStyle.setRightBorderColor(HSSFCellStyle.BORDER_THIN);
columnStyle.setTopBorderColor(HSSFCellStyle.BORDER_THIN);
columnStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 设置字体
HSSFFont font = book.createFont();
//font.setColor(HSSFColor.VIOLET.index);
//font.setFontHeight((short)12);
//font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// 把字体应用到当前样式
columnStyle.setFont(font);
return columnStyle;
}

/**
* 使用表头样式
*/
private HSSFCellStyle buildTitleStyle(HSSFWorkbook book){
// 设置样式
HSSFCellStyle titleStyle = book.createCellStyle();
//titleStyle.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
//titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
//titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);
titleStyle.setLeftBorderColor(HSSFCellStyle.BORDER_THIN);
titleStyle.setRightBorderColor(HSSFCellStyle.BORDER_THIN);
titleStyle.setTopBorderColor(HSSFCellStyle.BORDER_THIN);
titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 设置字体
HSSFFont font = book.createFont();
//font.setColor(HSSFColor.VIOLET.index);
//font.setFontHeight((short)12);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// 把字体应用到当前样式
titleStyle.setFont(font);
return titleStyle;
}

/**
* 写入表头
*/
private void writExcelTitle(HSSFSheet sheet,HSSFCellStyle titleStyle) throws IOException {
// 表头
HSSFRow title = sheet.createRow(0);
for (Integer i = 0; i < columnName.size(); i++) {
HSSFCell cell = title.createCell(i);
cell.setCellStyle(titleStyle);
HSSFRichTextString value = new HSSFRichTextString(columnObject.get(columnName.get(i)));
cell.setCellValue(value);
}
}

/**
* 写入内容
* @throws InvocationTargetException
* @throws IllegalAccessException
* @throws IllegalArgumentException
*/
private <T> void writExcelColumn(List<T> objects,Integer start,HSSFSheet sheet,HSSFCellStyle titleStyle) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException{
for (int i = 0; i < objects.size(); i++) {
Object object = objects.get(i);
Class<?> cls = object.getClass();
HSSFRow column = sheet.createRow(start);
for (int j = 0; j < columnName.size(); j++) {
try {
Method method = cls.getMethod(getMethod(columnName.get(j)));
Object invokeResult = method.invoke(object);
String result = returnTypeResult(invokeResult);
HSSFCell cell = column.createCell(j);
cell.setCellStyle(titleStyle);
HSSFRichTextString value = new HSSFRichTextString(result);
cell.setCellValue(value);
} catch (NoSuchMethodException e) {
continue;
}
}
start++;
}
}

/**
* 构建get方法
*/
private static String getMethod(String fieldName){
return "get"+fieldName.substring(0,1).toUpperCase(Locale.CHINA)+fieldName.substring(1);
}

private static String returnTypeResult(Object object){
if (object == null) {
return nullDisplay;
}
if (object.getClass().getName().equals("java.util.Date")) {
return formatDate(object);
}else if (object.getClass().getName().equals("java.sql.Timestamp")) {
Timestamp timestamp = Timestamp.valueOf(object.toString());
Date date = timestamp;
return formatDate(date);
}else {
return object.toString();
}
}

/**
* formatDate
*/
private static String formatDate(Object date) {
return new SimpleDateFormat(format).format(date);
}
}

阅读全文

与java读取web项目文件相关的资料

热点内容
怎么追程序员的女生 浏览:481
空调外压缩机电容 浏览:73
怎么将安卓变成win 浏览:455
手机文件管理在哪儿新建文件夹 浏览:721
加密ts视频怎么合并 浏览:773
php如何写app接口 浏览:800
宇宙的琴弦pdf 浏览:395
js项目提成计算器程序员 浏览:942
pdf光子 浏览:832
自拍软件文件夹名称大全 浏览:327
程序员留学移民 浏览:51
梁中间部位箍筋加密区 浏览:119
频谱分析pdf 浏览:752
乐2怎么升级安卓70 浏览:174
java中获取日期 浏览:508
单片机74hc245 浏览:274
美国历史上的总统pdf 浏览:753
程序员脱单实验室靠不靠谱 浏览:460
php中间四位手机号 浏览:871
永旺app怎么样了 浏览:518