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