javaxml路徑
① 在java工程中要解析一個xml文件要怎麼寫那個xml文件的路徑
/***param:directory*param:fw**/publicvoidgetPath(Stringdirectory,FileWriterfw)throwsException{Filepath=newFile(directory);File[]files=path.listFiles();for(Filef:files){if(f.isDirectory()){getPath(f.getAbsolutePath(),fw);}else{fw.write(f.getAbsolutePath()+"\n");}}}//調用FileWriterfw=newFileWriter("C:\\dir.log",true);getPath("E:\\trunk\\dev\\web",fw);fw.flush();fw.close();
② java項目中有個xml文件,如何設置路徑才可以在本機上的jar,區域網的別的電腦也能讀寫xml
我剛不久前也遇到這類問題,你是要在Java類中讀取xml文件,是嗎?
我開始寫的在本地可以讀,可發布了就讀不到了,後來就改了如下的方式,供你參考吧:
@SuppressWarnings("unchecked")
public Advice getAdvicefromXML(String type){
Advice advice = new Advice();
SAXReader reader = new SAXReader();// 構建sax讀取對象system_advices.xml
try {
InputStream in =[當前這類名(不能用this代替)].class.getClassLoader().getResourceAsStream("system_advices.xml");
Document doc = reader.read(in);// 獲取文檔對象
//之前我用的這行代碼,本地可以,打包了就路徑對不上
// Document doc = reader.read("../webapps/manager/WEB-INF/classes /system_advices.xml");// 獲取文檔對象
Element root = doc.getRootElement();// 獲取根節點
List list = root.elements();
for (int i = 0; i < list.size(); i++) {
Element ele = (Element) list.get(i);
if(type.equals(ele.elementText("type"))){
advice.setId(Long.valueOf(ele.elementText("id")));
advice.setTitle(ele.elementText("title"));
advice.setContent(ele.elementText("content"));
advice.setSenderId(ele.elementText("senderid"));
advice.setReceiverType(ele.elementText("type"));
advice.setStatus("1");
break;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return advice;
}
//核心的代碼就這幾句
SAXReader reader = new SAXReader();
InputStream in =[當前這類名(不能用this代替)].class.getClassLoader().getResourceAsStream("system_advices.xml");
Document doc = reader.read(in);// 獲取文檔對象
③ java獲取XML路徑提示空指針問題
空指針的位置實在getPath方法,因為getResource方法返回了Null,導致null.getPath就是空指針了,問題出在你沒有獲取到note.xml文件,所以你需要解決這個問題,你把代碼拆開寫就知道了,getResource 用個變數接受,然後你看它 是不是 null
④ java讀xml相對路徑問題
如果你發布項目的話,絕對路徑是不行的(那是你本地電腦上的路徑)
這時應該用類載入器來讀取類的路徑,你可以把xml文件放到src目錄下,這個目錄時存放源代碼和位元組碼的
class.getClassloader.get,,,,,,
class表示當前類的class對象,getClassLoader獲得類載入器
後面的一個方法我記不太清了,是獲取IO流的方法,你找找看
這種方法即使你發布工程到tomcat上也沒問題
⑤ java中xml路徑什麼時候用點什麼時候用斜杠
點一般是後面跟.xml,斜杠就是代表文件夾的分層,比如x文件夾下面的txt文件夾下面的a.xml,那就是x/txt/a.xml
⑥ java讀取XML文件路徑問題
相對路徑的話,可以先獲取到當前文件的編譯路徑,之後在找到想找文件的路徑的思路來實現。
舉例:
XMLS.class.getClass().getResourceAsStream("/test/test.xml");
解釋:XMLS.class.getClass()是獲取當前的類編譯路徑,之後通過getResourceAsStream的形式即可找到要讀取的文件的路徑。
備註:這個方法中後面的路徑也可以通過截取的形式來進行路徑獲取,實現原理都是找到當前類路徑,之後通過相對位置找到另外文件路徑。
⑦ 關於java中xml文件配置的路徑問題
配置文件可以做路徑映射的,通常/static/css/是可以直接訪問的,/WEB-INF/html/是不能直接訪問的,必須通過servlet或者其他類似controller訪問。
樓上2位沒說全,"/"在java代碼裡面才需要轉義,頁面上是不需要的;
"/" 代表的不是當前文件夾,代表的是根路徑,"./"才是當前文件夾。