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

JAVA项目中如何获取文件绝对路径,java,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 fil

嗨,我需要使用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();

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

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

如果确实要从源文件夹获取此类文件,则应执行以下操作:

System.out.println(new File("src/pdfReader/TestFile.txt").getAbsolutePath());

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

您可以创建
文件
并使用
获取绝对路径
方法:

File file = new File("TestFile.txt");//full file path URL
String absolutePath = file.getAbsolutePath();
以下是简单的节目:

public static void main(String[] args) {
    File f = null;
    String path = "";
    boolean bool = false;
    try {
        // create new files
        f = new File("test.txt");
        // returns true if the file exists
        bool = f.exists();
        // if file exists
        if (bool) {
            // get absolute path
            path = f.getAbsolutePath();
            // prints
            System.out.print("Absolute Pathname " + path);
        }
    } catch (Exception e) {
        // if any error occurs
        e.printStackTrace();
    }
}

您确定该文件实际上不在
bin
文件夹中吗?Eclipse可能已经自动复制了它。