程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java讀取配置文件 ,得到工程所在的目錄

java讀取配置文件 ,得到工程所在的目錄

編輯:關於JAVA
 

//讀取配置文件
//方法一
InputStream in= this.getClass().getResourceAsStream("aa.properties");
Properties pr = new Properties();
try{
pr.load(in);
String value = pr.getProperty("key");
}catch(Exception e){}

//方法二
ResourceBundle rb = null;
rb.getBundle("aa");//這裡不要後綴名
String va =rb.getString("key");

 

Java幾種加載文件路經的方式

得到src下的aa.porperties文件

ResourceBundle localResource = ResourceBundle.getBundle(“aa”);

得到src下com.svse下包下的aa.propertes文件

ResourceBundle localResource = ResourceBundle.getBundle("com/svse",”aa”);

String value = localResource.getString("test");
System.out.println("ResourceBundle: " + value);

工程src目錄下aa.properties(名字後綴必須為properties)文件內容如下:

test=hello word

 

 

 

相對路徑的獲得
說明:相對路徑(即不寫明時候到底相對誰)均可通過以下方式獲得(不論是一般的java項目還是web項目)
String relativelyPath=System.getProperty("user.dir");
上述相對路徑中,java項目中的文件是相對於項目的根目錄
web項目中的文件路徑視不同的web服務器不同而不同(tomcat是相對於 tomcat安裝目錄\bin)

 

 

類加載目錄的獲得

1.1)通用的方法一(不論是一般的java項目還是web項目,先定位到能看到包路徑的第一級目錄)

InputStream is= Thread.currentThread().getContextClassLoader().

.getResourceAsStream("test.txt");
(test.txt文件的路徑為 項目名\src\test.txt)

1.2)通用方法二 (此方法和1.1中的方法類似,不同的是此方法必須以'/'開頭)
InputStream is= this.getClass()..getResourceAsStream("/test.txt");
(test.txt文件的路徑為 項目名\src\test.txt,類Test1所在包的第一級目錄位於src目錄下)

 

1.3) 得到工程 所在的目錄

URL url = this.getClass().getResource("/");

if(url == null){

url = Thread.currentThread()

.getContextClassLoader().getResource("/");

}

try{

File file = new File(url.getFile());

 

//得到classes目錄所在的路徑

//如:E:\workspacesFlex\tomcat6.0\webapps\ssh\WEB-INF\classes

String classPath = file.getPath();

System.out.println(classPath);

//向上返回兩級得到工程 所在的跟路徑 如:

//E:\workspacesFlex\tomcat6.0\webapps\ssh

 

srcPath = file.getParentFile().getParent();

System.out.println(srcPath);

 

}catch(Exception e){

System.out.println("得到文件路徑出錯");

}
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved