【问题标题】:Cannot run program "chmod": CreateProcess error=2, The system cannot find the file specified at java.lang.ProcessBuilder.start(Unknown Source)无法运行程序“chmod”:CreateProcess 错误=2,系统找不到 java.lang.ProcessBuilder.start 指定的文件(未知来源)
【发布时间】:2015-02-17 08:18:06
【问题描述】:
public String moveFilestoDestinationFolder(String src_loc,String desc_loc) {

    String msg="";

    try {


        File srcfile =new File(src_loc);
        //change permission to 777 for all the users
        //no option for group and others
        Runtime.getRuntime().exec("chmod 777 file"); 

        srcfile.setExecutable(true, false);
        srcfile.setReadable(true, false);
        srcfile.setWritable(true, true);

    //  srcfile.renameTo(new File(desc_loc));

        if(srcfile.renameTo(new File(desc_loc))){

            msg="File is moved successful!";
        }else{

            msg="File is failed to move!";
        }

    }catch(Exception e){
        e.printStacktrace();
    }

    return msg;
}

这是用于将文件从一个文件夹移动到另一个文件夹的代码。但它不起作用。在这里,我设置了所有文件权限。还是不行。

【问题讨论】:

  • “不工作”是什么意思?你有错误吗?输出可能总是“移动失败”,因为您尝试移动它两次。
  • 我没有收到任何消息。它根本不会进入 if 循环 @RealSkeptic
  • 请将catch 的内容从e.getMessage()(它什么都不做,因为它只获取消息并且不打印)更改为e.printStackTrace(),如果有错误,它将打印错误一个错误。再次运行它,并使用错误信息更新您的问题。
  • 使用错误信息更新您的问题。不要在 cmets 中写长信息。
  • @RealSkeptic-那个错误是什么意思?

标签: java linux file ubuntu server


【解决方案1】:

你打电话给renameTo() 两次。如果第一个重命名有效,则第二个可能无法工作,如果第一个重命名不起作用,则第二个也不能。

删除第一个。

【讨论】:

  • 我删除了一个,但它显示一些错误无法运行程序“chmod”:CreateProcess error=2,系统找不到java.lang.ProcessBuilder.start(
【解决方案2】:

尝试将源文件的权限授予

File srcfile =new File(src_loc);
    //change permission to 777 for all the users
    //no option for group and others
    Runtime.getRuntime().exec("chmod 777 "+srcfile ); 

请试试这个

【讨论】:

  • 试过这个但是显示错误...java.io.IOException: 无法运行程序“chmod”: CreateProcess 错误=2, 系统找不到 java.lang.ProcessBuilder.start 指定的文件(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source) at java.lang.Runtime.exec(Unknown Source)
猜你喜欢
  • 1970-01-01
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 2016-07-26
  • 1970-01-01
  • 2015-02-01
  • 2013-02-01
相关资源
最近更新 更多