首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java文件mkdir给出错误结果

Java文件mkdir给出错误结果
EN

Stack Overflow用户
提问于 2016-04-01 13:48:44
回答 1查看 122关注 0票数 1

因此,我试图制作一张地图,将一些文件存储在dir中,该文件是在程序开始时生成的。但是在windows上仍然存在一个问题,因为这个目录从来没有创建过。我也找不到解决办法。相同的代码在Unix系统上工作得很好,但在Windows系统上却不工作。

代码语言:javascript
复制
protected String createScreenshotMap(){
        this.dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        this.date = new Date();
        String testMap = this.checkOS();
        File fileMap = null;
        boolean check;
        try{
            if(os.indexOf("win") >= 0){
                fileMap = new File(testMap);
                check = fileMap.canWrite();
                System.out.println(check);
                String path = "C:" + File.separator + "testRun" + 
                                     File.separator + this.date.toString();
                fileMap = new File(path);
                System.out.println(fileMap.getAbsolutePath());
            }else{
                fileMap = new File(testMap + this.date.toString() + "/");
            }
            check = fileMap.mkdir();
            System.out.println(check);
        }catch (Exception e){
            e.printStackTrace();
        }
        return testMap;
    }

如果我运行这段代码,就会得到以下输出

代码语言:javascript
复制
true
C:\testRun\Fri Apr 01 15:30:47 CEST 2016
false

我还检查了我的testRun exist,这对java来说是可以的。我还检查了我是否会写,这给出了真,但它仍然不能在dir中用testRun

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-01 13:51:53

不能用:创建文件夹或文件名(冒号)

详细信息:

对于Microsoft资源,Windows保留下列字符,无法用于创建文件夹或文件名:

代码语言:javascript
复制
< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)

参考资料:

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36358053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档