2013-03-07 36 views
10

我想知道如何指定一個相對路徑名稱到存儲在我的src文件夾的java項目中的文本文件。我想用這個文本文件的路徑存儲一個字符串。例如,如果我有位於我的Java項目的src文件夾中的example.txt,我該如何去尋找它的相對路徑?我也在做我的主,所以我無法使用.getResource()。我將如何做到這一點?謝謝。Java-文本文件在main中的相對路徑?

我的文件路徑是從性能在eclipse 其次/MyProject/src/data.txt

我已經試過:

字符串路徑= 「/MyProject/src/data.txt」 ;

但這不起作用?

+1

該文件必須位於將被執行的java/jar文件的相對路徑中,而不是源文件。 – 2013-03-07 20:50:32

+0

你使用的是Android嗎?或純Java? – niculare 2013-03-07 20:50:36

+0

普通的舊Java。 – zProgrammer 2013-03-07 20:52:02

回答

15

如果您使用的是eclipse,請將您的文本文件放在/src/bin文件夾之外的項目文件夾的根目錄下。它現在應該可以直接通過相對路徑訪問。

如果您要訪問src文件夾中的文件時,你有文件路徑/文件名

+1

這就是我一直在尋找的東西。將它放在src文件夾之外。 – zProgrammer 2013-03-07 21:03:24

+0

歡迎您 – chiffa 2013-03-08 05:07:48

+0

在src文件夾中訪問a.txt文件的窗口中,使用「src/a.txt」而不是「/src/a.txt」 – 2017-11-01 04:39:19

3

的路徑是相對於你執行的「java」 command.e.g目錄之前要追加/src/前綴。

/opt/projects/myproject>$ java -cp <whatever your classpath is that contains your class files> com.mycompany.mypackage.MyJavaClass 

在這種情況下,MyJavaClass會發現相對於目錄中的文件
的/ opt /項目/ MyProject的

還有另一種方法,如果你喜歡做這樣的:你可以使用負載的資源,這是通過類路徑機制找到。

getClass().getResource("foo.txt"); 

你可以看到這個帖子更多信息

Preferred way of loading resources in Java

+1

您不能在靜態方法中使用「this」 – zProgrammer 2013-03-07 20:58:41

+0

@zProgrammer I更新:只需刪除「這個」 – javadba 2014-11-07 21:31:24

7

使用文件路徑/文件名前src/前綴。

String path = "src/data.txt";