Java 为bufferedReader选择另一个目录中的文件
我有一个初始化文件(initialize.java),它使用fileInputStream从fileInput.txt中提取数据,但它们都位于不同的目录中 我在initialize.java中的代码是:Java 为bufferedReader选择另一个目录中的文件,java,directory,bufferedreader,fileinputstream,linux,unix,macos,Java,Directory,Bufferedreader,Fileinputstream,Linux,Unix,Macos,我有一个初始化文件(initialize.java),它使用fileInputStream从fileInput.txt中提取数据,但它们都位于不同的目录中 我在initialize.java中的代码是: FileInputStream fstream = new FileInputStream("/resources/text/fileInput.txt"); 但无法读取该文件。我也试过了 FileInputStream fstream = new FileInputStream("./res
FileInputStream fstream = new FileInputStream("/resources/text/fileInput.txt");
但无法读取该文件。我也试过了
FileInputStream fstream = new FileInputStream("./resources/text/fileInput.txt");
但那也不管用
如何访问txt文件?使用“/resources”和“/resources”有什么区别
谢谢你阅读这篇文章 FileInputStream fstream=newfileinputstream(“resources/text/fileInput.txt”)
尝试过这个吗?FileInputStream fstream=newfileinputstream(“resources/text/fileInput.txt”) 尝试过这个吗?“/resources/text/fileInput.txt”或
“resources/text/fileInput.txt”
有效,
但是,“/resources/text/fileInput.txt”
没有
注意:如果名为“resources”的文件夹位于项目的根目录下,则此选项有效。“/resources/text/fileInput.txt”
或“resources/text/fileInput.txt”
有效,
但是,“/resources/text/fileInput.txt”
没有
注意:如果名为“resources”的文件夹位于项目的根目录下,则此选项有效。差异很大。在//上,以/开头的路径从根目录开始。以/开头或不从当前应用程序目录开头的路径。召唤
System.out.println(新文件(“.”.getAbsolutePath())
检查您的位置?差别很大。在//上,以/开头的路径从根目录开始。以/开头或不从当前应用程序目录开头的路径。召唤
System.out.println(新文件(“.”).getAbsolutePath())
要检查您的位置?正如其他答案所建议的,传递给FileInputStream的路径取决于操作系统以及路径是相对路径还是绝对路径。另一种读取文件的方法是使用Class.getResourceAsStream()
。e、 g
输入流是=
this.getClass().getResourceAsStream(“/resources/text/fileInput.txt”)
要使上述功能正常工作,您需要在类路径中有父文件夹
/resources
。有关getResourceAsStream如何工作的更多信息,请参见,其他答案表明,传递给FileInputStream的路径取决于操作系统以及路径是相对路径还是绝对路径。另一种读取文件的方法是使用Class.getResourceAsStream()
。e、 g
输入流是=
this.getClass().getResourceAsStream(“/resources/text/fileInput.txt”)
要使上述功能正常工作,您需要在类路径中有父文件夹
/resources
。有关getResourceAsStream如何工作的更多信息,请参见Spyly me。。我做了绝对路径的事情,发现它实际上是Project/src/library,我不得不做一个“newfileinputstream”(“src/resources/…”)谢谢!!也许问题是资源是你在资源中的根文件夹。所以试试或InputStream in=ClassLoader.getresourceastream(“text/fileInput.txt”)
,我从来不知道:)。现在根是你的类路径根。我真傻..我做了绝对路径的事情,发现它实际上是Project/src/library,我不得不做一个“新的FileInputStream”(“src/resources/…”)谢谢!!也许问题在于资源是您在资源中的根文件夹。因此,请尝试或InputStream in=ClassLoader.getResourceAsStream(“text/fileInput.txt”)
,我从来都不知道:)。现在根是你的类路径根。感谢所有的帮助。我意识到这是我的大错,但至少我学会了“/”目录的东西:)谢谢大家的帮助。我意识到这是我的大错,但至少我学会了“/”目录内容:)
FileInputStream fstream = new FileInputStream("./resources/text/fileInput.txt");