我想在我的java程序中操作一个文件。要读取的文件必须与我的src文件夹并行。 我应该将什么作为文件路径?
答案 0 :(得分:4)
详细的例子可能有所帮助。从你的问题来看,我得到的是,
源路径:/ home / user / project1 / src / 文件路径:/ home / user / project1 / src /
如果是这种情况,那么一旦构建项目,文件路径就不会保持不变。因此,如果您说要打开的文件的相对路径在构建的代码中保持不变,那么您可以使用Class.getResourceAsStream(String path)
返回给定文件的InputStream
。然后,您可以使用它构造File
对象。
有关详细信息,请参阅this。
答案 1 :(得分:2)
您应该有一个File
对象代表您的src
文件夹,然后使用它创建一个新的File
对象:
File textFile = new File(srcFolder, relativePath);
您如何确定srcFolder
确实取决于具体情况。
编辑:如果您只是尝试读取构建时存在的文件,则应将其包含在构建的jar文件中,并使用ClassLoader.getResourceAsStream
或Class.getResourceAsStream
在执行时加载它时间。
例如,如果您有这种结构:
src\
com\
xyz\
Foo.class
data\
input.txt
然后您可以使用Foo.class.getResourceAsStream("/data/input.txt")
或Foo.class.getClassLoader.getResourceAsStream("data/input.txt")
。两者都会为您提供InputStream
,您可以使用它来加载数据。