導航:首頁 > 文件目錄 > java獲取配置文件路徑問題

java獲取配置文件路徑問題

發布時間:2023-05-29 18:49:05

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的路徑了

㈡ 用java 如何讀取配置文件(如:資源文件)中配

java讀取配置文件的幾種方法如下:
方式一:採用ServletContext讀取,讀取配置文件的realpath,然後通過文件流讀取出來。因為是用ServletContext讀取文件路徑,所以配置文件可以放入在web-info的classes目錄中,也可以在應用層級及web-info的目錄中。文件存放位置具體在eclipse工程中的表現是:可以放在src下面,也可放在web-info及webroot下面等。因為是讀取出路徑後,用文件流進行讀取的,所以可以讀取任意的配置文件包括xml和properties。缺點:不能在servlet外面應用讀取配置信息。
方式二:採用ResourceBundle類讀取配置信息,
優點是:可以以完全限定類名的方式載入資源後,直接的讀取出來,且可以在非Web應用中讀取資源文件。缺點:只能載入類classes下面的資源文件且只能讀取.properties文件。
方式三:採用ClassLoader方式進行讀取配置信息
優點是:可以在非Web應用中讀取配置資源信息,可以讀取任意的資源文件信息
缺點:只能載入類classes下面的資源文件。
方法4 getResouceAsStream
XmlParserHandler.class.getResourceAsStream 與classloader不同

使用的是當前類的相對路徑

㈢ Java讀取配置文件的幾種方法


在現實工作中,我們常常需要保存一些系統配置信息,大家一般都會選擇配置文件來完成,本文根據筆者工作中用到的讀取配置文件的方法小小總結一下,主要敘述的是spring讀取配置文件的方法。
一、讀取xml配置文件
(一)新建一個java bean
package chb.demo.vo;
public class HelloBean {
private String helloWorld;
public String getHelloWorld() {
return helloWorld;
}
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
}
}
(二)構造一個配置文件
?xml version="1.0" encoding="UTF-8"?
!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" ""
beans
bean id="helloBean" class="chb.demo.vo.HelloBean"
property name="helloWorld"
valueHello!chb!/value
/property
/bean
/beans
(三)讀取xml文件
1.利用
ApplicationContext context = new ("beanConfig.xml");
HelloBean helloBean = (HelloBean)context.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
2.利用FileSystemResource讀取
Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml");
BeanFactory factory = new XmlBeanFactory(rs);
HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
值得注意的是:利用FileSystemResource,則配置文件必須放在project直接目錄下,或者寫明絕對路徑,否則就會拋出找不到文件的異常。
二、讀取properties配置文拿鎮件
這里介紹兩種啟敬技術:利用spring讀取properties 文件和利用java.util.Properties讀取
(一)利用spring讀取properties 文件
我們還利用上面的HelloBean.java文件,構造如下beanConfig.properties文件:
helloBean.class=chb.demo.vo.HelloBean
helloBean.helloWorld=Hello!chb!
屬性文件中的"helloBean"名稱即是Bean的別名設定,.class用於指定類來消旁粗源。
然後利用org.springframework.beans.factory.support.來讀取屬性文件
BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
reader = new (reg);
reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties"));
BeanFactory factory = (BeanFactory)reg;
HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
(二)利用java.util.Properties讀取屬性文件
比如,我們構造一個ipConfig.properties來保存伺服器ip地址和埠,如:
ip=192.168.0.1
port=8080
則,我們可以用如下程序來獲得伺服器配置信息:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");
Properties p = new Properties();
try {
p.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
System.out.println("ip:"+p.getProperty("ip")+",port:"+p.getProperty("port"));

㈣ 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);
返回讀取指定資源的輸入流。資源的搜索路徑是虛擬機的內置類載入器的路徑。

㈤ 為什麼就是獲取不到javaweb工程下的配置文件所在路徑

在Java web項目中經常會用屬性文件作為配置文件,而其一般放在src的根目錄下,讀取文件時一般會有以下兩種情況:

方式一、在servlet中讀取:

// action配置文件路徑
public static final String ACTIONPATH = "WEB-INF/classes/actions.properties";
// 屬性文件
public static final Properties prop = new Properties();
// 獲取servlet上下文的絕對路徑,如:C:\Program Files\Apache\Tomcat 6.0\webapps\fee\
String path = getServletContext().getRealPath("\\");
// 把文件讀入文件輸入流,存入內存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//載入文件流的屬性
prop.load(fis);
方式二、在一般的類中讀取:
// action配置文件路徑
public static final String ACTIONPATH = "actions.properties";
// 屬性文件
public static final Properties prop = new Properties();
// 獲取當前類載入的根目錄,如:/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/
String path = UriFilter.class.getClassLoader().getResource("").toURI().getPath();
// 把文件讀入文件輸入流,存入內存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//載入文件流的屬性
prop.load(fis);

㈥ java讀取XML文件路徑問題

相對路徑的話,可以先獲取到當前文件的編譯路徑,之後在找到想找迴文件的路徑答的思路來實現。
舉例:
XMLS.class.getClass().getResourceAsStream("/test/test.xml");
解釋:XMLS.class.getClass()是獲取當前的類編譯路徑,之後通過getResourceAsStream的形式即可找到要讀取的文件的路徑。
備註:這個方法中後面的路徑也可以通過截取的形式來進行路徑獲取,實現原理都是找到當前類路徑,之後通過相對位置找到另外文件路徑。

㈦ java web工程,讀取配置文件路徑問題

讀取復src下的文製件,可以用下面的方式

publicclassTest1{

publicstaticvoidmain(String[]args){
Propertiespro=newProperties();
InputStreamin=Test1.class.getResourceAsStream("/config.properties");
try{
pro.load(in);
pro.getProperty("aa");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}

㈧ java 程序打包為jar發布後,讀取配置文件路徑出錯 ,怎樣獲取配置文件路徑

給你個例子,讀取config.properties文件。
文件內容(值自己加)如下:
TestHosts =
FormalHosts =

TestConfig =
FormalConfig =

HostsPath =
ConfigPath =

讀取文件的類如下:
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.*;

public class EvnConfig{
public static Properties PROPERTIES = new Properties();

static{
String proFilePath = System.getProperty("user.dir")+"/config.properties";
//System.out.println(proFilePath);
//InputStream propertiesStream = EvnConfig.class.getClassLoader().getResourceAsStream(proFilePath);
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(proFilePath));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try{
PROPERTIES.load(in);
}catch(IOException e){
System.out.println("properties創建失敗!");
e.printStackTrace();
}
//System.out.println("EvnConfig.testHosts:"+PROPERTIES.getProperty("TestHosts"));
}

public static final String testHosts = changeCode(PROPERTIES.getProperty("TestHosts"));
public static final String formalHosts = changeCode(PROPERTIES.getProperty("FormalHosts"));
public static final String testConfig = changeCode(PROPERTIES.getProperty("TestConfig"));
public static final String formalConfig = changeCode(PROPERTIES.getProperty("FormalConfig"));
public static final String hostsPath = changeCode(PROPERTIES.getProperty("HostsPath"));
public static final String configPath = changeCode(PROPERTIES.getProperty("ConfigPath"));

public static String changeCode(String str){
String toStr = "";
try {
//System.out.println(str + "轉換...");
toStr = new String(str.getBytes("ISO-8859-1"),"GB2312");
//System.out.println(str + "轉換成功!");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
System.out.println(str + "轉換失敗!");
e.printStackTrace();
}
return toStr;

}
}

㈨ 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中xml文件配置的路徑問題

嗯,是過濾,在這個裡面實現了些什麼?
這個問題太大
了,而且這是struts2,更加復雜。在裡面做了很多事情,最起碼的
至少有載入你的struts.xml配置文件,解析你的配置文件,然後通過你的請求路徑,找到相應的action,封裝你的表單數據等等,還有很多過濾器。。。struts2不是一兩句能說完的,看看源代碼吧,如果看得懂,就知道做了什麼了

閱讀全文

與java獲取配置文件路徑問題相關的資料

熱點內容
可以用來修臉的拍照app有哪些 瀏覽:193
thinkphp連接多資料庫 瀏覽:288
藍牙發送不了文件不支持此內容 瀏覽:209
js判斷手機系統版本號 瀏覽:770
使用地鐵app乘車怎麼出站 瀏覽:510
針對土壤侵蝕評價的需要什麼數據 瀏覽:455
word文件怎麼壓小 瀏覽:429
郵政管理投訴網站是什麼 瀏覽:960
java定義變數boolean 瀏覽:765
招標文件內容含糊不清 瀏覽:629
如何批量替換多個文件名稱 瀏覽:97
蘋果電子郵箱 瀏覽:164
蘋果win10右鍵設置在哪個文件夾 瀏覽:324
工具英語單詞 瀏覽:965
app用什麼語言寫 瀏覽:239
環球網校在哪個文件夾 瀏覽:501
Word文件怎麼改成網頁格式 瀏覽:883
西遊之路升級 瀏覽:854
atv和app分別是代表什麼 瀏覽:370
蘋果六s為什麼充不進電 瀏覽:386

友情鏈接