所以我正在尝试编写一个可执行的 .sh 文件,这就是我目前编写它的方式:
Writer output = null;
try {
output = new BufferedWriter(new FileWriter(file2));
output.write(shellScriptContent);
output.close();
} catch (IOException ex) {
Logger.getLogger(PunchGUI.class.getName()).log(Level.SEVERE, null, ex);
}
这样就可以很好地写入文件,但它不可执行。有没有办法在我写的时候改变可执行状态?
编辑:为了进一步说明,我试图让它默认执行,例如,如果您双击生成的文件,它会自动执行。
最佳答案
您可以调用File.setExecutable()
为文件设置所有者的可执行位,这可能足以满足您的情况。或者您可以通过 Process
系统调用自己chmod
。
遗憾的是,直到 Java 7 才可以对文件权限进行全能的编程更改。它将成为新 IO 功能集的一部分,您可以阅读更多关于 here 的内容。 .
关于java - 用 Java for OSX 写一个可执行的 .sh 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/673685/