我想用java 的File类的 mkdir()函数在linux系统下创建文件夹。
程序代码
String file = "/root/2008";
File upfile = new File(file);
if (upfile.exists() == false) {
    upfile.mkdir();
}
执行没有问题。但就是无法创建文件夹。
在linux 命令语句 mkdir 2008 可以创建文件。
说明有权限创建文件夹。我在window平台下使用上面的程序代码创建成功。
为什么在linux 平台下就无法创建呢。。希望高手给予解答!谢谢

解决方案 »

  1.   

    这样:
    String path= "/root/2008";
    java.io.File f = new java.io.File(path);
    if(!f.exists()){
    if(!f.isDirectory()){
    f.mkdirs();//lz请注意这里
    }
    }
    在linux 测试没有问题
      

  2.   

    跟踪程序是否执行了upfile.mkdir(); 
      

  3.   

    to:1楼
    我把你的代码复制过去还是不行。没有创建文件
    to:2楼
    确认执行了。
      

  4.   

    String file = "/root/2008";
       File upfile = new File(file);
       System.out.println("upfile.exists():"+upfile.exists());
       if (upfile.exists() == false) {
        System.out.println("执行!");
    upfile.mkdir();
       }第一次执行为false upfile.exists(): false  执行!。
    第二次执行为true  upfile.exists(): true但是我为什么看不到新建的文件夹呢 ls 查看不到。
    我是重新登陆查看的。
      

  5.   

    为什么查不到?我的代码在linux下测试过已经可以生成目录你用 ll 命令看不到吗?你用什么用户登陆的? 检查一下文件夹的权限
      

  6.   

    不知道啊。。就是查不到。
    root 用户。隐藏文件也没有
      

  7.   

    是不是因为java 程序创建文件的权限问题。
      

  8.   

    linux下的文件和目录都有权限
      

  9.   

    什么权限啊。。我不太了解。
    就是用的root用户。
    在linux 下用命令mkdir 可以建立文件
    用java 的File类生成就创建不了。
    很疑惑。