2013-03-07 76 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";