Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-从同一个包中获取文件_Java_File_Package - Fatal编程技术网

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

Java-从同一个包中获取文件,java,file,package,Java,File,Package,如果我想阅读与该类在同一个包中的“Words.txt”,我该怎么做?只需执行Scanner=newscanner(新文件(“Words.txt”)返回错误。假设文本文件与.class位于同一目录中,而不是您可以执行的.java文件 Scanner scanner = new Scanner(getClass().getResourceAsStream("Words.txt")); 您所拥有的将在当前工作目录中查找该文件。构建程序时,这通常是程序的根目录。当您将其作为独立程序运行时,它通常是启动

如果我想阅读与该类在同一个包中的“Words.txt”,我该怎么做?只需执行
Scanner=newscanner(新文件(“Words.txt”)
返回错误。

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

Scanner scanner = new Scanner(getClass().getResourceAsStream("Words.txt"));
您所拥有的将在当前工作目录中查找该文件。构建程序时,这通常是程序的根目录。当您将其作为独立程序运行时,它通常是启动程序的目录

InputStream is = MyClass.class.getResourceAsStream("Words.txt");
...
File()构造函数中的参数是相对于运行VM的系统的路径,它不依赖于类的包


如果您的words.txt是与war一起打包的资源,您可以在此处看到:

尝试将.txt文件放在项目的根目录中。虽然文本文件可以与特定包中的文件位于同一文件夹中,但这并不能真正使它们成为包的一部分。相反,您需要从文件系统(或者,从jar或war)加载它。您的意思是
getClass().getResourceAsStream(“Words.txt”)
我不知道每个答案是否都是基于另一个答案,或者方法名刚刚更改,但它是
getClass().getResourceAsStream(“Words.txt”)
@Winter基于我脆弱的记忆,我想。非常感谢。
Scanner = new Scanner(new File("/path/to/Words.txt")); 
Scanner scanner = new Scanner(getClass().getResourceAsInputStream("Words.txt"));

String s = new String();

while(scanner.hasNextLine()){


        s = s + scanner.nextLine();


 }