您好我需要使用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();
有人会告诉我如何获取文件路径吗?
答案 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();
}
}