java - 使用绝对路径读取文件时出现 FileNotFoundException

标签 java fileinputstream

我尝试使用绝对路径从文件系统读取文件,但由于“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);

最佳答案

以下是可能导致此问题的一些原因:

  1. 该文件不存在。 (你说这不是问题……)
  2. 该目录确实存在,但您的应用无权读取它。
  3. 目录和文件存在,但真实路径名或您正在使用的路径名有问题:

    • 其中可能包含不可见/非打印字符。
    • 它可能有尾随空格字符,或不同数量的嵌入空格
    • 这可能是同形文字问题
  4. 实际错误发生在代码中的其他地方。

  5. 不知何故,您实际运行的代码与您的源代码不匹配;例如您的编辑/编译/部署/运行过程存在方法问题。
<小时/>

我也可以建议你尝试这样:

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/

相关文章:

java - 在Java中,如何从后到前迭代文本文件中的行

java - 尝试从相对路径读取文件时获取 "java.io.IOException: Stream closed"

java - 使用 DownloadManager 将文件下载到真正的 SD 卡,而不是模拟存储

java - for循环结构

java - 如何使用 FileInputStream 访问 jar 中的 txt 文件?

java - AndroidBlockGuardPolicy.onReadFromDisk FileInputStream 违规

android - 如何将 FileInputStream 提供给 Videoview?

java - 锁定文件并在不先释放锁定的情况下将其删除

java - 3 秒后在监听器内释放一个帧

java - 如何使构造函数仅对工厂类可用?