Java: Java 升级后 FileOutputStream("NUL:") 不工作

Java: FileOutputStream("NUL:") not working after Java upgrade

在Windows上,NUL是类似于Linux上的/dev/null的空输出设备。

使用 Oracle Java 8 Update 331,尝试获取 new FileOutputStream("NUL:") 会引发异常。以前 (Java 8u321) 它运行良好。

问题好像是冒号:

任何人都可以指出有关此更改的文档或 JDK 来源吗?我无法更改代码本身,因为它位于第 3 方库 (xnio-api).

try
{
  new FileOutputStream("NUL:");
  System.out.println("OK");
}
catch (FileNotFoundException e)
{
  System.out.println(e);
}

我怀疑this is the offending change

显然它试图避免访问 ADS(备用数据流),但似乎“不小心”也像这样阻止了对 device-files 的访问。

如果这是正确的,那么您可以尝试将系统 属性 jdk.io.File.enableADS 设置为 true 至 re-enable 旧行为。