我对我在 Logcat 中获得的结果感到困惑。我正在尝试读取文件,但收到 FileNotFoundException。现在我正在硬编码文件所在的 url。
InputStream readMyFile(String fileName){
File file = new File("C:\\Users\\Alvaro\\workspaceEclipse\\ProyectA\\file.xml");
//File file = new File("C:" +File.separator +"Users" +File.separator +"Alvaro" +File.separator +"workspaceEclipse" +File.separator +"ProyectA" +File.separator +"file.xml");
System.out.println("Working Directory = " +
System.getProperty("user.dir"));
System.out.println(file.exists());
System.out.println(file.canRead());
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(file));
if (in != null) {
in.close();
}
}catch(Exception e){
System.out.println("Error opening the file. \n" +e);
}
return in;
}
我可以看到找不到该文件,因为不知何故,在 url 字符串的开头插入了一个“/”:
/C:\Users\Alvaro\workspaceEclipse\ProyectA\file.xml: open failed: ENOENT (No such file or directory)
问题是,如果我使用 File.separator,输出是:
/C:/Users/Alvaro/workspaceEclipse/ProyectA/file.xml: open failed: ENOENT (No such file or directory)
有谁知道可能会发生什么?
其他信息:
- 工作目录 = /
- file.exists() 和 file.canRead() 显然返回 false。
- Windows 7家庭高级版。
- Eclipse 版本 Indigo 服务版本 2
- Java 版本 1.6.0_37