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

时间:2015-07-16 23:57:41

标签: 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();

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

2 个答案:

答案 0 :(得分:2)

您可能正在使用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());

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

答案 1 :(得分:0)

您可以创建file并使用getAbsolutePath方法:

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();
    }
}