如何读取 src 以外目录中的文件?

How do I read a file in a directory other than src?

我 myFile.txt 位于 myJavaProject\webResources\sampleTransmissions。我正在尝试读取 myJavaProject\src\package1\notMyMainClass.java 中的文件,但无法正确构建访问 webResources 目录的路径。另外,我想使用 Files.readAllBytes(Path path) 读取文件,因为我需要获取不可打印的字符才能使用

编辑:这将是我的项目结构

+我的JavaProject

++src

+++notMyMainClass.java

++网络资源

+++示例传输

++++myFile.txt

您是否正在寻找这样的东西:

Scanner scanner = new Scanner(new File("webResources/sampleTransmissions/myFile.txt"));

这假定 "myJavaProject" 是您的工作目录。如果您希望它独立于工作目录工作,请使用绝对路径。

正斜杠也适用于 Windows。如果您更喜欢反斜杠,则需要编写 "webResources\sampleTransmissions\myFile.txt"

注意:工作目录与您的 .java 或 .class 文件的位置无关。

我想我在另一个 post 上找到了这个问题的答案.. Reading .txt file from another directory

getParentFile() 将是执行此操作的方法。 http://www.tutorialspoint.com/java/io/file_getparentfile.htm

File currentDir = new File(".");
File parentDir = currentDir.getParentFile();
File newFile = new File(parentDir,"Example.txt");;