如果我想从与班级同一个包中的“Words.txt”中读取,我该怎么做?这样做只会Scanner = new Scanner(new File("Words.txt"));
返回错误。
问问题
40654 次
4 回答
18
InputStream is = MyClass.class.getResourceAsStream("Words.txt");
...
于 2012-09-14T16:25:21.823 回答
2
.class
假设文本文件与, 而不是.java
你可以做的文件在同一目录中
Scanner scanner = new Scanner(getClass().getResourceAsStream("Words.txt"));
您所拥有的将在当前工作目录中查找该文件。在构建程序时,这通常是程序的根目录。当您将它作为独立程序运行时,它通常是程序启动的目录。
于 2012-09-14T16:24:49.367 回答
2
Scanner = new Scanner(new File("/path/to/Words.txt"));
File() 构造函数中的参数,是相对于运行 VM 的系统的路径,它不依赖于类的包。
如果您的 words.txt 是与您的战争一起打包的资源,您可以在这里看到:从类路径中的任何位置加载资源
于 2012-09-14T16:26:10.850 回答
0
Scanner scanner = new Scanner(getClass().getResourceAsInputStream("Words.txt"));
String s = new String();
while(scanner.hasNextLine()){
s = s + scanner.nextLine();
}
于 2012-09-14T16:28:29.240 回答