在Windows上写入aux文件时会发生什么?

jan*_*pol 3 java windows

我有以下代码:

public class MyTest {
  public static void main(String [] args) throws Exception {
    java.io.File f = new java.io.File("aux.txt");
    f.createNewFile();
    java.io.FileWriter fw = new java.io.FileWriter(f);          
    fw.write("Hello");
    fw.flush();
    fw.close();
  }
}
Run Code Online (Sandbox Code Playgroud)

该代码将运行,并且不会引发任何异常。例外:文件aux.txt不存在。我发现f.createNewFile()返回false,因为不允许在Windows上创建aux文件。好吧,我可以接受。

但是,我的困惑是:如果FileWriter没有抛出任何异常,它将写入何处?

xen*_*ros 5

根据MSDN

请勿使用以下保留名称作为文件名:CON,PRN,AUX,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5, LPT6,LPT7,LPT8和LPT9。也要避免在这些名称后面加上扩展名;例如,不建议使用NUL.txt。

false返回表示文件已经存在。根据此博客书面AUXWindows的原因写辅助装置,通常是一个串行端口。

此外,尝试写入名为的文件CON。它应该出现在控制台中。