我一直在尝试让我可以从网上下载 .exe 文件,读取它,并将其写入本地文件,然后执行。
URL url = new URL("http://www.ddlands.com/downloads/Calc.exe");
URLConnection c = url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
String line = "";
File file = new File("analbread"+".exe");
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
while((line = br.readLine()) != null){
bw.write(line + "\n");
}
br.close();
bw.close();
Process r = Runtime.getRuntime().exec("analbread" + ".exe");
System.out.println(r.toString());
System.out.println("WORKS!");
虽然我知道由于使用 BufferedWriter 而这不起作用,并且我不确定它是否运行 exe。
最佳答案
对于下载部分,您需要使用二进制读/写。有关更多详细信息,请参阅此:Working unbuffered streams .
对于执行部分,问题在于 Runtime.exec()
-method无法启动您的可执行文件。
至少在 Linux 下(我无法在 Windows 上测试),您需要可执行文件的完整路径(或者当文件位于与您的应用程序相同的目录)以便能够执行它。
仅给出该命令适用于属于系统一部分的可执行文件 PATH-variable .
关于java - 下载exe文件并运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13536963/