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) 它运行良好。
问题好像是冒号:
new FileOutputStream("NUL")
- 好的
new FileOutputStream("NUL:")
- 异常
任何人都可以指出有关此更改的文档或 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 旧行为。
在Windows上,NUL是类似于Linux上的/dev/null的空输出设备。
使用 Oracle Java 8 Update 331,尝试获取 new FileOutputStream("NUL:")
会引发异常。以前 (Java 8u321) 它运行良好。
问题好像是冒号:
new FileOutputStream("NUL")
- 好的new FileOutputStream("NUL:")
- 异常
任何人都可以指出有关此更改的文档或 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 旧行为。