所以我必须使用终端运行一个程序。但是当我这样做的时候,它告诉我,我试图使用的文件找不到。当我使用NetBeans来运行我的程序时,没有任何问题。这个id是我的代码
File file = new File("src/level/Level2.txt");
FileReader fileReader = new FileReader(file);
BufferedReader reader = new BufferedReader(fileReader);
当它工作时,程序应该打开一个窗口,显示文件中的级别。当尝试"level/Level2.txt"作为文件名时,它会打开一个空窗口。希望有人能帮助我。
编辑我找到了问题所在。我的程序找不到我想显示的图像。
为了使事情不那么神秘,您可以尝试使用绝对路径而不是相对路径。
String currentDir = Paths.get(".").toAbsolutePath().normalize().toString();
System.out.println("currentDir = " + currentDir);
例如,在我的系统上输出这个目录名:
currentDir = /Users/harry/Projects/proj3
从命令行看到的目录的绝对路径将取决于从控制台启动Java的位置。(假设你的Java应用程序没有试图改变当前的工作目录)
从这里借用的建议:
在Java中获取当前工作目录
我建议这样做是为了帮助解决您的特定问题,并且而不是是在Java应用程序中使用路径的一般建议。相对路径更好…所以当你在没有IDE的情况下运行你的程序时,弄清楚它是如何访问目录的是很好的。