『壹』 java 讀取資源文件
我也是剛學會的,讀取JAR內的文件
InputStream in=this.getClass().getResourceAsStream("/aa/aa.ini");//aa是包
寫入就麻煩了,jar因為是只讀,沒法了。
所以就得把文件放jar外了,然後用
System.getProperty("user.dir");//jar當前路徑
『貳』 誰清楚Java中如何從網路讀取文本文件資源啊急急急
JDK類庫包含了一組豐富的、為網路通信而設計的類,使用它們能輕松地檢索和閱讀網路文件。如下選取秒秒學Java程序的代碼所示:
try {
//給出要讀取文件內容的網路地址
URL url = new URL("http://services.explorecalifornia.org/rss/tours.php");
//打開輸入流
InputStream stream = url.openStream();
//實例化緩沖流
BufferedInputStream buf = new BufferedInputStream(stream);
//實例化StringBuilder類
StringBuilder sb = new StringBuilder();
//循環讀取和拼接字元串
while (true) {
int data = buf.read();
if (data == -1) {
break;
} else {
sb.append((char) data);
}
}
//輸出讀取到的文本內容
System.out.println(sb);
} catch (IOException e) {
e.printStackTrace();
}
『叄』 JAVA中獲取資源問題 this.getClass().getResource("C:\\login.wav");
this.getClass().getResource是得到當前對象對應的類文件(*.class)所在的目錄下的文件。所以通過this.getClass().getResource去獲得C盤中的數據是獲取不到的。
像C:\\login.wav這樣的絕對路勁,你可以這樣來獲取:
URL
url
=
new
File("C:\\login.wav").toURI().toURL();
補充:
這個要看你的Pan這個類編譯成的class文件在什麼地方。this.getClass().getResource()是相對於Pan.class這個類文件的文件來說的,如果login.wav和Pan.class同一目錄下,那麼this.getClass().getResource("login.wav")就能獲取到,如果login.wav是在Pan.class的下一級目錄music下,那麼就是
this.getClass().getResource("music/login.wav")了。
像這樣的根據ClassLoader來獲取資源的方式,應該不能查找上一級目錄。如:
this.getClass().getResource("../aa");這樣好像是不行的。所以如果要取相對路徑,那麼要麼就把login.wav和Pan.class文件放在同一目錄,要麼就把login.wav放在Pan.class的下一級目錄。
如果還有什麼不清楚,可以再說出來。我再補充。
『肆』 java獲取指定資源文件路徑的幾種方法
你好,提問者:
指定資源路徑的方法有兩種:
一種是絕對路徑,一種是相對路徑。
獲取當前類的所在工程路徑;
Filef=newFile(this.getClass().getResource("/").getPath());
System.out.println(f);
獲取當前類的絕對路徑;
Filef=newFile(this.getClass().getResource("").getPath());
System.out.println(f);
獲取當前類的所在工程路徑;
Filedirectory=newFile("");//參數為空
StringcourseFile=directory.getCanonicalPath();
System.out.println(courseFile);
獲取當前工程src目錄下selected.txt文件的路徑:
URLxmlpath=this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);
『伍』 Java中如何正確地從類路徑中獲取資源
直接 getClassPath就獲得一個 本地文件夾路勁啊,然後自己處理
『陸』 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");
『柒』 java中獲取資源 文件名的問題
這個其實是Java API方法的運用的問題。path.substring(int startIndex);這個方法是從startIndex這個位置開始到字元串末尾截取子串。具體到你所提問的這個方法:其中,path.lastIndexOf("\\");是獲取到最後一個反斜杠的索引位置。path.substring(path.lastIndexOf("\\")+1);它的意思是從最後一個反斜杠的位置,(但不包括這個反斜杠,所以它在這個位置上加了一個數字1)一直截子串到最後,所以就得到了文件名。
『捌』 java程序讀取資源文件時路徑如何指定
(1)、request.getRealPath("/");//不推薦使用獲取工程的根路徑
(2)、request.getRealPath(request.getRequestURI());//獲取jsp的路徑,這個方法比較好用,可以直接在servlet和jsp中使用
(3)、request.getSession().getServletContext().getRealPath("/");//獲取工程的根路徑,這個方法比較好用,可以直接在servlet和jsp中使用
(4)、 this.getClass().getClassLoader().getResource("").getPath();//獲取工程classes 下的路徑,這個方法可以在任意jsp,servlet,java文件中使用,因為不管是jsp,servlet其實都是java程序,都是一個 class。所以它應該是一個通用的方法。
0、關於絕對路徑和相對路徑
1.基本概念的理解絕對路徑:絕對路徑就是你的主頁上的文件或目錄在硬碟上真正的路徑,(URL和物理路徑)例 如:C:xyz est.txt 代表了test.txt文件的絕對路徑。http://www.sun.com/index.htm也代表了一個URL絕對路徑。相對路徑:相對與某個基 准目錄的路徑。包含Web的相對路徑(HTML中的相對目錄),例如:在Servlet中,"/"代表Web應用的跟目錄。和物理路徑的相對表示。例 如:"./" 代表當前目錄,"../"代表上級目錄。這種類似的表示,也是屬於相對路徑。另外關於URI,URL,URN等內容,請參考RFC相關文檔標准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.關於JSP/Servlet中的相對路徑和絕對路徑。 2.1伺服器端的地址伺服器端的相對地址指的是相對於你的web應用的地址,這個地址是在伺服器端解析的(不同於html和javascript中的相對 地址,他們是由客戶端瀏覽器解析的)
1、request.getRealPath
方法:request.getRealPath("/")
得到的路徑:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\
方法:request.getRealPath(".")
得到的路徑:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\.
方法:request.getRealPath("")
得到的路徑:C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest
request.getRealPath("web.xml")
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\strutsTest\web.xml
2、request.getParameter("");
ActionForm.getMyFile();
方法:String filepath = request.getParameter("myFile");
得到的路徑:D:\VSS安裝目錄\users.txt
方法:String filepath = ActionForm.getMyFile();
得到的路徑:D:\VSS安裝目錄\users.txt
--------------------------------------------------
strutsTest 為工程名
myFile 在ActionForm中,為private String myFile;
在jsp頁面中:為<html:file property="myFile"></html:file>
『玖』 用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獲取jar包中資源文件
在src目錄下建議一個文件夾,專門存放配置文件,項目編譯後,直接用jar命令打包即可。
如有疑問,可遠程協助解決。
有問題歡迎提問,滿意請採納,謝謝!