Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.


Browse files Browse the repository at this point in the history
8285445: cannot open file "NUL:"
Backport-of: 03cbb48e6a1d806f204a39bbdbb4bc9be9e57a41
  • Loading branch information
Brian Burkhalter committed Apr 23, 2022
1 parent 07f4a0f commit 313b033
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 5 deletions.
9 changes: 4 additions & 5 deletions src/java.base/windows/classes/java/io/
Expand Up @@ -48,16 +48,15 @@ class WinNTFileSystem extends FileSystem {

// Whether to enable alternative data streams (ADS) by suppressing
// checking the path for invalid characters, in particular ":".
// ADS support will be enabled if and only if the property is set and
// is the empty string or is equal, ignoring case, to the string "true".
// By default ADS support is disabled.
// By default, ADS support is enabled and will be disabled if and
// only if the property is set, ignoring case, to the string "false".
private static final boolean ENABLE_ADS;
static {
String enableADS = GetPropertyAction.privilegedGetProperty("");
if (enableADS != null) {
ENABLE_ADS = "".equals(enableADS) || Boolean.parseBoolean(enableADS);
ENABLE_ADS = !enableADS.equalsIgnoreCase(Boolean.FALSE.toString());
} else {
ENABLE_ADS = false;
ENABLE_ADS = true;

Expand Down
52 changes: 52 additions & 0 deletions test/jdk/java/io/FileOutputStream/
@@ -0,0 +1,52 @@
* Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit if you need additional information or have any
* questions.

* @test
* @bug 8285445
* @requires ( == "windows")
* @summary Verify behavior of opening "NUL:" with ADS enabled and disabled.
* @run main/othervm OpenNUL
* @run main/othervm OpenNUL


public class OpenNUL {
public static void main(String args[]) throws IOException {
String enableADS = System.getProperty("");
boolean fails = enableADS.equalsIgnoreCase(Boolean.FALSE.toString());

FileOutputStream fos;
try {
fos = new FileOutputStream("NUL:");
if (fails)
throw new RuntimeException("Should have failed");
} catch (FileNotFoundException fnfe) {
if (!fails)
throw new RuntimeException("Should not have failed");

1 comment on commit 313b033

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.