我无法使下面的代码工作:
public static void main(String[] args) {
try {
InputStream f = new FileInputStream("test.txt");
} catch (Throwable t) {
t.printStackTrace(System.err) ;
}
}
这会抛出一个异常,指出找不到文件test.txt。我已经尝试将它放在项目的几乎所有目录中,我已经检查了根目录的用途:
System.out.println(new File(".").getAbsolutePath());
无论我把文件放在哪里,它都永远找不到它。甚至尝试将它放在C:\ test.txt中,这也不起作用
返回的异常如下:
java.io.FileNotFoundException: test.txt (Le fichier spécifié est introuvable // means File not found)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at main.Main.main(Main.java:30)
答案 0 :(得分:0)
这取决于你的起始路径。如果你从你的家庭位置运行java,java将在本地目录上获取文件。
穿上c:并尝试
InputStream f = new FileInputStream("c:\\test.txt");
放置本地目录并使用以下信息进行测试
String current = new java.io.File( "." ).getCanonicalPath();
System.out.println("Current dir:"+current);
File folder = new File(".");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println("File :'" + listOfFiles[i].getName()."'");
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}