您需要对其进行chmod修改,并且可能可以通过执行如下系统命令来实现:
实际上,您所需要做的只是解散如下所示的内容:
Runtime.getRuntime().exec("chmod u+x "+FILENAME);但是,如果您想更明确地跟踪它,可以捕获stdin / stderr,则应类似以下内容:
Process p = Runtime.getRuntime().exec("chmod u+x "+FILENAME);BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));我从这里获得的信息:http
:
//www.devdaily.com/java/edu/pj/pj010016/pj010016.shtml
更新:
测试程序:
package junk;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;import java.io.Writer;public class Main{ private String scriptContent = '#!/bin/bash n echo "yeah toast!" > /tmp/toast.txt'; public void doIt(){ try{ Writer output = new BufferedWriter(new FileWriter("/tmp/toast.sh")); output.write(scriptContent); output.close(); Runtime.getRuntime().exec("chmod u+x /tmp/toast.sh"); }catch (IOException ex){} } public static void main(String[] args){ Main m = new Main(); m.doIt(); }}在Linux上,如果打开文件浏览器并双击/tmp/toast.sh并选择运行它,它将生成一个文本文件/tmp/toast.txt,文字为“ yeah
toast”。我认为Mac会做同样的事情,因为它是BSD的内幕。



