【问题标题】:IOException : When Executing Java File Code in Linux boxIOException:在 Linux 框中执行 Java 文件代码时
【发布时间】:2021-05-06 17:54:06
【问题描述】:

这是我的写文件

WriteFile.writeFile(str, "./test/my.html");

writeFile()方法代码

public static void writeFile(String content, String fileName)
  {
    try
    {
      File file = new File(fileName);
      if (!file.exists()) {
        file.createNewFile();
      }
      FileWriter fw = new FileWriter(file.getAbsoluteFile());
      BufferedWriter bw = new BufferedWriter(fw);
      bw.write(content);
      bw.close();
    }
    catch (IOException e)
    {
      e.printStackTrace();
    }
  }

此代码在 Windows 上运行良好,但在 Linux 中我遇到异常

java.io.IOException: No such file or directory
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:1006)
    at org.sewa.util.WriteFile.writeFile(WriteFile.java:25)

【问题讨论】:

  • 可能与大小写有关。 Windows 不区分大小写,而 Linux 是。
  • 我觉得应该可以帮到link
  • @broncoAbierto Windows 默认情况下不区分大小写。

标签: java linux ubuntu


【解决方案1】:

createNewFile 的行为在 Windows 和 Linux 中是相同的,因此您指定的文件的路径很可能在 Windows 中存在,而在 Linux 中不存在。在您的示例中,test/ 目录在您执行程序的目录中的 Linux 中不存在。如果要创建整个路径,请参阅File#mkdirs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 2023-03-13
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多