下载的exe文件已损坏

时间:2013-07-24 06:56:48

标签: java

我编写了一个代码,它实际上下载了存储在特定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是有效的网址。您可以将其用于测试目的

1 个答案:

答案 0 :(得分:0)

.exe文件是一个二进制文件,其中包含许多不可打印的字符,记事本不会显示或复制这些字符。将文本粘贴到Web表单并让服务器保存文本时,会发生进一步的重整操作。您必须使用一些二进制安全机制来上传文件,如FTP或HTML文件上载表单。