JAVA项目中如何获取文件绝对路径

use*_*774 4 java

您好,我需要使用 FileInputStream 读取文件,但我没有获得正确的路径。我的文件位于 C:\Users\tester\Documents\Java Project\Samples\ProjectOne\src\pdfReader 但是,当我使用下面的代码时,我得到错误的路径,即“/C:/Users/tester/Documents/ Java%20Project/Samples/ProjectOne/bin/ProjectOne/TestFile.txt"

有我的代码:

String filePath;
filePath=MainForm.class.getResource("TestFile.txt").getPath();
Run Code Online (Sandbox Code Playgroud)

有人能告诉我如何获取文件路径吗?

Fer*_*sta 5

您可能正在使用 Eclipse,并且当您将文件保存TestFile.txt在源文件夹中时,它会被复制到该bin文件夹​​(项目的输出文件夹)中。因此,路径并没有错。正如在您的代码中使用的getResource方法一样,将从MainForm.class找到您的文件的同一目录中检索该文件。

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource(java.lang.String)

如果您确实想从源文件夹中获取此类文件,那么您应该执行以下操作:

System.out.println(new File("src/pdfReader/TestFile.txt").getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

但是,如果您计划分发应用程序,最好将此类文件存储在文件夹中resources,因为源文件夹通常不包含在dist包中。