最常用讀取properties文件的方法 InputStream in = getClass().getResourceAsStream("資源Name");這種方式要求properties文件和當前類在同一文件夾下面。如果在不同的包中,必須使用: InputStream ins = this.getClass().getResourceAsStream(
❷ java web工程,讀取配置文件路徑問題
讀取配置文件 , xxx.properties放在/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();
❸ java文件怎麼獲取項目下的配置文件
不同的配置文件 用不同的方法啊
xml格式的 用dom4j
對象流格式的用對象流讀取,
普通的文本格式,自己解析唄
❹ 如何讀取Java項目不同路徑的配置文件
publicStringgetAbsolutepath(){
StringfileUrlPath=FileL.getPathPart(this.getClass().getResource("/")
.getPath());
Stringos=System.getProperty("os.name");
if(os.toLowerCase().startsWith("win")){
fileUrlPath=fileUrlPath.substring(1,fileUrlPath.length());
}
returnfileUrlPath;
}
❺ java中如何從當前項目中讀取運行另一項目中的配置文件
問題在,你在new File的時候沒有指定絕對路徑
用程序獲取的話,它獲取的是當前項目的路徑,所以輸出D:\workspace\Test1\DataAccess.xml
而你的DataAccess.xml文件在Test下,所以報錯
❻ java 怎麼讀取不在同一項目下的配置文件
我沒有好的解決方案,我就想問一個如果你把配置文件放到你的項目外面,然後又沒有給項目指定絕對路徑, 或者限制路徑的,是不是你的項目就得全盤搜索你的那個配置文件了?你覺得這樣能合理嗎?
❼ java讀取properties配置文件路徑問題
可以直接通過Thread方法直接獲取到項目路徑下的配置文件:
static {
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("BankConPort.properties"); //載入線程文件成為流
Properties prop = new Properties();
try {
prop.load(is);//直接轉換為對象
BOB_ReqURI = prop.getProperty("BOB_ReqURI");
BOB_SignURI = prop.getProperty("BOB_SignURI");
BOBLOGINPASSWORD = prop.getProperty("BOBLOGINPASSWORD");
} catch (IOException ex) {
java.util.logging.Logger.getLogger(BOBUtil.class.getName()).log(Level.SEVERE, null, ex);
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
Log.info("解析信息出錯", e.getMessage());
}
}
}
}
❽ 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讀取配置文件的幾種方法以及路徑問題
.類載入器讀取:
只能讀取classes或者類路徑中的任意資源,但是不適合讀取特別大的資源。
①獲取類載入器 ClassLoader cl = 類名.class.getClassLoader();
②調用類載入器對象的方法:public URL getResource(String name);
此方法查找具有給定名稱的資源,資源的搜索路徑是虛擬機的內置類載入器的路徑。
類 URL 代表一個統一資源定位符,它是指向互聯網」資源」的指針。
資源可以是簡單的文件或目錄,也可以是對更為復雜的對象的引用.
URL對象方法:public String getPath(),獲取此 URL 的路徑部分。
示例代碼:
2.類載入器讀取:
只能讀取classes或者類路徑中的任意資源,但是不適合讀取特別大的資源。
①獲取類載入器 ClassLoader cl = 類名.class.getClassLoader();
②調用類載入器對象的方法:public InputStream getResourceAsStream(String name);
返回讀取指定資源的輸入流。資源的搜索路徑是虛擬機的內置類載入器的路徑。
❿ java 讀取配置文件路徑問題
你是web工程 要能得到request對象就好了。
String path=servletContext.getRealPath("/"); 得到的就是 編譯後web文件夾的路徑
path+"/WEB-INF/configs/jdbc.properties" 就可以了。
還是建議用上面的方法
2 上邊cl.getResourceAsStream("") 我試了一下只能得到classes下面的文件
也就是\WEB-INF\classes\下的文件
向上去 /WEB-INF/就不行了。
3 可以通過cl得到一個file 你對file進行操作區找 那個配置文件。。
new File(cl.getResource("").getPath()) //這個file就是classes文件夾了
/WEB-INF/
--/configs/jdbc.properties
--/classes/這里就是src的路徑了