我有以下代码来阅读文本文件。
public static void main(String[] args)
{
try
{
Scanner in = new Scanner(new FileReader("input.txt"));
while(in.hasNext())
{
System.out.println(in.next());
}
}
catch (FileNotFoundException ex)
{
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
我的项目结构设置如下:
build/ directory contains class
dist/ directory contains the jar file
src/ directory contains source
input.txt the text file to read
如果我将文本文件input.txt
放入名为test
的目录中,该目录与build
,dist
和src
属于同一目录,应该是什么进入filereader
的参数,这样我仍然可以找到这个文件?
答案 0 :(得分:10)
在Netbeans IDE中运行时,工作目录是项目的根目录,所以要回答你的问题“test / input.txt”。
但请注意,虽然这对于测试代码来说非常好,但在最终(生产)代码中使用这样的相对路径可能会更棘手。在这些情况下,将文件作为资源包装在jar中并将其作为资源流打开可能是更好的解决方案,或者当然使用绝对路径。
答案 1 :(得分:5)
如果您知道子目录的名称,请使用
Scannner in = new Scanner(new FileReader("test/input.txt"));