我尝试使用绝对路径从文件系统读取文件,但由于“FileNotFoundException”而失败,我不知道为什么
File file=new File("E:\\Directory\\File.txt");
byte[] buff=new byte[8];
FileInputStream fileIn=new FileInputStream(file.getAbsolutePath());
int n=fileIn.read(buff);
System.out.println(n);
最佳答案
以下是可能导致此问题的一些原因:
- 该文件不存在。 (你说这不是问题……)
- 该目录确实存在,但您的应用无权读取它。
目录和文件存在,但真实路径名或您正在使用的路径名有问题:
- 其中可能包含不可见/非打印字符。
- 它可能有尾随空格字符,或不同数量的嵌入空格
- 这可能是同形文字问题
实际错误发生在代码中的其他地方。
- 不知何故,您实际运行的代码与您的源代码不匹配;例如您的编辑/编译/部署/运行过程存在方法问题。
我也可以建议你尝试这样:
File file = new File("E:/Directory/File.txt");
FileInputStream fileIn = new FileInputStream(file);
Java 路径名处理应将“/”转换为适当的平台特定文件分隔符。并且 file
已经表示绝对路径,因此不需要调用 file.getAbsolutePath()
。
关于java - 使用绝对路径读取文件时出现 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40437705/