< prev index next >

src/java.base/windows/classes/java/io/WinNTFileSystem.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * 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. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * 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. Oracle designates this
*** 23,32 **** --- 23,34 ---- * questions. */ package java.io; + import java.io.File; + import java.nio.file.Path; import java.util.Locale; import java.util.Properties; import sun.security.action.GetPropertyAction; /**
*** 625,634 **** --- 627,657 ---- private native long getSpace0(File f, int t); /* -- Basic infrastructure -- */ + // Obtain maximum file component length from GetVolumeInformation which + // expects the path to be null or a root component ending in a backslash + private native long getNameMax0(String path); + + public long getNameMax(String path) { + String s = null; + if (path != null) { + File f = new File(path); + if (f.isAbsolute()) { + Path root = f.toPath().getRoot(); + if (root != null) { + s = root.toString(); + if (!s.endsWith("\\")) { + s = s + "\\"; + } + } + } + } + return getNameMax0(s); + } + @Override public int compare(File f1, File f2) { return f1.getPath().compareToIgnoreCase(f2.getPath()); }
< prev index next >