Java - 从同一个包中获取文件

时间:2012-09-14 16:21:57

标签: java file package

如果我想从与课程在同一个包中的“Words.txt”中读取,我该怎么做?简单地执行Scanner = new Scanner(new File("Words.txt"));会返回错误。

4 个答案:

答案 0 :(得分:16)

InputStream is = MyClass.class.getResourceAsStream("Words.txt");
...

答案 1 :(得分:2)

Scanner = new Scanner(new File("/path/to/Words.txt")); 

File()构造函数中的参数,是相对于运行VM的系统的路径,它不依赖于classe的包。

如果你的words.txt是随战争打包的资源,你可以在这里看到:Load resource from anywhere in classpath

答案 2 :(得分:1)

假设文本文件与.class位于同一目录中,而不是您可以执行的.java文件

Scanner scanner = new Scanner(getClass().getResourceAsStream("Words.txt"));

您所拥有的将在当前工作目录中查找该文件。在构建程序时,这通常是程序的根目录。当您将其作为独立程序运行时,通常是程序启动的目录。

答案 3 :(得分:0)

Scanner scanner = new Scanner(getClass().getResourceAsInputStream("Words.txt"));

String s = new String();

while(scanner.hasNextLine()){


        s = s + scanner.nextLine();


 }