无法运行程序“chmod”:CreateProcess error=2,系统找不到java.lang.ProcessBuilder.start指定的文件(未知源)
这是用于将文件从一个文件夹移动到另一个文件夹的代码。但它不起作用。我在这里设置了所有文件权限。但它仍然不工作。尝试将源文件的权限授予为无法运行程序“chmod”:CreateProcess error=2,系统找不到java.lang.ProcessBuilder.start指定的文件(未知源),java,linux,file,ubuntu,server,Java,Linux,File,Ubuntu,Server,这是用于将文件从一个文件夹移动到另一个文件夹的代码。但它不起作用。我在这里设置了所有文件权限。但它仍然不工作。尝试将源文件的权限授予为 public String moveFilestoDestinationFolder(String src_loc,String desc_loc) { String msg=""; try { File srcfile =new File(src_loc); //change permission to
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 loop@real。请更改e.getMessage中捕获的内容,它不做任何操作,因为它只收到消息,不打印,到e.printStackTrace,如果出现错误,它将打印错误。再次运行它,并使用错误中的信息更新您的问题。使用错误中的信息更新您的问题。不要在注释中写入长信息。@realpoint该错误是什么意思?尝试了此操作,但显示错误…java.io.IOException:无法运行程序chmod:CreateProcess error=2,系统找不到在java.lang.ProcessBuilder.startUnknown Source at java.lang.Runtime.execUnknown Source at java.lang.Runtime.execUnknown Source at java.lang.Runtime.execUnknown Source处指定的文件。我删除了一个文件,但它显示了一些错误,因为无法运行程序chmod:CreateProcess error=2,系统找不到在java.lang.ProcessBuilder.start指定的文件
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 );