我似乎無法理解如何傳遞文件夾來加載類路徑中的文件。它適用於.class文件所在文件夾中的文本文件,或者如果我使用files/test.txt
而不是test.txt
。我究竟做錯了什麼?訪問類路徑中給出的文件夾中的文件
代碼:
import java.io.*;
public class T {
public static void main(String[] args) {
String line;
File f = new File("test.txt");
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(f));
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
}
}
}
}
文件夾和文件:
stuff/T.java
stuff/T.class
某處有一個文件與我想在classpath給予test.txt文件夾中。
我使用命令java -cp .../files T
在windows命令行中的東西文件夾中運行測試。
text.txt的相對路徑是'files/test.txt',如果您希望它只是'test.txt'將它與類文件放在一起。如果有一些類或庫,將文件添加到類路徑將會很有用。 –
如果我有一個jar文件,我想添加一些新的文本文件用於各種事情?我如何將它們交給罐子使用? – Sunspawn
你將再次必須使用相對路徑[http://stackoverflow.com/questions/2393194/how-to-access-resources-in-jar-file –