Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当路径不是以driveletter开头时,java.io.File mkdirs()方法在Windows上引发NullPointerException_Java_Windows_Filesystems_Java Io - Fatal编程技术网

当路径不是以driveletter开头时,java.io.File mkdirs()方法在Windows上引发NullPointerException

当路径不是以driveletter开头时,java.io.File mkdirs()方法在Windows上引发NullPointerException,java,windows,filesystems,java-io,Java,Windows,Filesystems,Java Io,当使用文件类mkdirs()在一个路径中创建两个子目录时,在开始处没有驱动器号,将引发NullPointerException。在这里,好像我创建了一个子目录,它可以完美地工作,没有错误 当路径以驱动器号开头时,将创建任意级别的子目录 在这种情况下,如何为windows和unix文件系统编写唯一的代码? 以下是一些例子: C:/apps目录已存在 场景3的异常详细信息: Exception in thread "main" java.lang.NullPointerException a

当使用文件类mkdirs()在一个路径中创建两个子目录时,在开始处没有驱动器号,将引发NullPointerException。在这里,好像我创建了一个子目录,它可以完美地工作,没有错误

当路径以驱动器号开头时,将创建任意级别的子目录

在这种情况下,如何为windows和unix文件系统编写唯一的代码?

以下是一些例子:

C:/apps目录已存在

场景3的异常详细信息:

Exception in thread "main" java.lang.NullPointerException
    at java.io.WinNTFileSystem.normalize(WinNTFileSystem.java:82)
    at java.io.WinNTFileSystem.getUserPath(WinNTFileSystem.java:346)
    at java.io.WinNTFileSystem.resolve(WinNTFileSystem.java:311)
    at java.io.File.getCanonicalPath(File.java:618)
    at java.io.File.getCanonicalFile(File.java:643)
    at java.io.File.mkdirs(File.java:1348)

我试过你的代码,它对我有效。可能您遇到了与此问题类似的问题:。我添加了
System.clearProperty(“user.dir”)到代码的开头,然后我看到了与您得到的相同的异常。
Exception in thread "main" java.lang.NullPointerException
    at java.io.WinNTFileSystem.normalize(WinNTFileSystem.java:82)
    at java.io.WinNTFileSystem.getUserPath(WinNTFileSystem.java:346)
    at java.io.WinNTFileSystem.resolve(WinNTFileSystem.java:311)
    at java.io.File.getCanonicalPath(File.java:618)
    at java.io.File.getCanonicalFile(File.java:643)
    at java.io.File.mkdirs(File.java:1348)