概述java.io.File当path不以driveletter开头时,mkdirs()方法在Windows上抛出NullPointerException
当使用file类mkdirs()在一个没有驱动器号的path中创build两个子目录时,会抛出NullPointerExceptionexception。 就像我创build一个子目录一样,这个工作完美无误。
当path以驱动器号开头时,子目录被创build到任何级别。
在这种情况下,我怎样才能为windows和unix文件系统编写独特的代码?
这里是例子:
关于硬链接
用fts遍历文件系统(3)
写多个文件比 写一个大文件
黑匣子types的数据logging
日记在ext3 – 文档
C:/ apps目录已经存在。
//scenario 1 String IteraTION_DIR = \”/apps\”+\”/\”+\”iter05\”; file iterationDir = new file(IteraTION_DIR); if(!iterationDir.exists()){ iterationDir.mkdirs(); //creates iter05 directory } //scenario 2 IteraTION_DIR = \”/apps\”+\”/\”+\”iter05\”+\”/\”+\”ENG\”; iterationDir = new file(IteraTION_DIR); if(!iterationDir.exists()){ iterationDir.mkdirs(); //creates ENG directory } //scenario 3 IteraTION_DIR = \”/apps\”+\”/\”+\”iter05\”+\”/\”+\”ENG/dir1/dir2/dir3\”; iterationDir = new file(IteraTION_DIR); if(!iterationDir.exists()){ iterationDir.mkdirs(); //throws exception. } //scenario 4 IteraTION_DIR = \”C:/apps\”+\”/\”+\”iter05\”+\”/\”+\”ENG/dir1/dir2/dir3\”; iterationDir = new file(IteraTION_DIR); if(!iterationDir.exists()){ iterationDir.mkdirs(); //creates dir1/dir2/dir3 when path is prefixed with drive letter }
场景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)
在linux上放置命名pipe道的适当位置是什么?
Bash命令行重命名通配符
我怎样才能模拟ext3文件系统损坏?
windows上的扩展文件属性(ntfs)
PHP的file_get_contents()有时会返回零字节/ false
总结
以上是内存溢出为你收集整理的java.io.File当path不以driveletter开头时,mkdirs()方法在Windows上抛出NullPointerException全部内容,希望文章能够帮你解决java.io.File当path不以driveletter开头时,mkdirs()方法在Windows上抛出NullPointerException所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容