我正在尝试使用Java在Linux系统(Ubuntu)的根文件夹中创建文本文件。我的问题是我收到访问被拒绝的消息。我的用户是普通用户,所以我试图用root用户创建文件,但是我被卡在这里。
这是我的代码:
package --------.com;
import java.io.File;
import java.io.IOException;
public class CreateFileDemo
{
public static void main( String[] args )
{
try {
File file = new File("/root/newfile.txt");
boolean fvar = file.createNewFile();
if (fvar){
System.out.println("File has been created successfully");
}
else{
System.out.println("File already present at the specified location");
}
} catch (IOException e) {
System.out.println("Exception Occurred:");
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
我认为您应该首先了解Linux文件系统权限: 通常:
因此,首先,让普通用户在/下创建文件的想法很简单:错误。您不应该打开那扇锁着的门。
现在,仍然可以做到这一点:
root
权限完成的。sudo touch /root/newfile.txt
之类的系统命令,然后使用诸如sudoers之类的系统命令来避免被询问,而不是使用Java API创建该文件输入密码。换句话说:您要么必须将整个JVM作为root进程运行(禁止使用),要么必须具有“ root”权限进行系统调用。
答案 1 :(得分:0)
只需使用$ chmod 777 file_name.txt