導航:首頁 > 編程語言 > 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項目文件相關的資料

熱點內容
cd命令進不了c盤怎麼辦 瀏覽:208
葯業公司招程序員嗎 瀏覽:970
毛選pdf 瀏覽:657
linuxexecl函數 瀏覽:725
程序員異地戀結果 瀏覽:372
剖切的命令 瀏覽:226
干什麼可以賺錢開我的世界伺服器 瀏覽:288
php備案號 瀏覽:988
php視頻水印 瀏覽:166
怎麼追程序員的女生 瀏覽:486
空調外壓縮機電容 瀏覽:78
怎麼將安卓變成win 瀏覽:459
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328
程序員留學移民 瀏覽:52