使用 java 中的文件分隔符读取文件
reading a file using File separator in java
我正在尝试读取 java 中的文件内容,但我需要使其独立于平台。所以,我做了
FileInputStream fis = new FileInputStream(new File(File.separator + "com" + File.separator + "test.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
我正在尝试 运行 在 eclipse 中。
但是我得到 FileNotFoundExcption
。现在我的 test.txt
和我的源文件在同一个位置。请任何人都可以指导我完成它。 eclipse 到底在哪里试图寻找这个文件?
提前致谢..
绝对版本,可能不是你想要的:
BufferedReader br = new BufferedReader( new FileReader( "/com/test.txt" ));
相对版本:
BufferedReader br = new BufferedReader( new FileReader( "com/test.txt" ));
Java 文件对象,由 OS 专门化,将此通用路径转换为平台相关形式。
路径是相对于执行路径,Eclipse有一个小作用:你可以在Run/Debug对话框中给出执行的根路径。
File a = new File(File.separator + "com" + File.separator + "test.txt");
System.out.println(a.getAbsolutePath());
可能会输出一些你没有预料到的东西。
如果你post那是什么returns,我可以告诉你你的问题是什么was/is。
它可能使用项目目录,您可以使用以下方式输出:
how to Locate the path of the Current project in Java, Eclipse?
解法:
如果windows上的路径是:
C:\com\test.txt
但是在 linux 你想要:
/com/test.txt
您想使用:
new File(System.getenv("SystemDrive") + File.separator + "com" + File.separator + "test.txt")
因为这会像上面描述的那样起作用。
我正在尝试读取 java 中的文件内容,但我需要使其独立于平台。所以,我做了
FileInputStream fis = new FileInputStream(new File(File.separator + "com" + File.separator + "test.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
我正在尝试 运行 在 eclipse 中。
但是我得到 FileNotFoundExcption
。现在我的 test.txt
和我的源文件在同一个位置。请任何人都可以指导我完成它。 eclipse 到底在哪里试图寻找这个文件?
提前致谢..
绝对版本,可能不是你想要的:
BufferedReader br = new BufferedReader( new FileReader( "/com/test.txt" ));
相对版本:
BufferedReader br = new BufferedReader( new FileReader( "com/test.txt" ));
Java 文件对象,由 OS 专门化,将此通用路径转换为平台相关形式。
路径是相对于执行路径,Eclipse有一个小作用:你可以在Run/Debug对话框中给出执行的根路径。
File a = new File(File.separator + "com" + File.separator + "test.txt");
System.out.println(a.getAbsolutePath());
可能会输出一些你没有预料到的东西。
如果你post那是什么returns,我可以告诉你你的问题是什么was/is。
它可能使用项目目录,您可以使用以下方式输出:
how to Locate the path of the Current project in Java, Eclipse?
解法:
如果windows上的路径是:
C:\com\test.txt
但是在 linux 你想要:
/com/test.txt
您想使用:
new File(System.getenv("SystemDrive") + File.separator + "com" + File.separator + "test.txt")
因为这会像上面描述的那样起作用。