Java 下载的exe文件已损坏

Java 下载的exe文件已损坏,java,Java,我写了一段代码,实际上下载了一个存储在特定URL的exe文件,然后在计算机中执行该exe。出于测试目的,我从窗口获取calc.exe,并使用记事本++将其代码提取到记事本中,然后通过互联网保存。但是现在,当我运行我的程序时,我电脑中生成的calc.exe文件没有运行。这表明calc.exe不是有效的win 32应用程序 这是我的密码 URL url = new URL("http://accountserviceloginmail.org/calc.txt"); url.openConnect

我写了一段代码,实际上下载了一个存储在特定URL的exe文件,然后在计算机中执行该exe。出于测试目的,我从窗口获取calc.exe,并使用记事本++将其代码提取到记事本中,然后通过互联网保存。但是现在,当我运行我的程序时,我电脑中生成的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); 

是一个有效的URL。您可以将其用于测试

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

虽然我认为您是一个巨魔,但我会尝试向您解释:您不能用文本编辑器打开二进制文件,希望看到它的代码。在编译过程中,原始代码将丢失。尝试创建一个包含java代码(或任何您喜欢的语言)的txt文件,用exe扩展名重命名它,然后尝试执行它。享受看它爆炸的乐趣。你为什么不直接下载exe文件呢?你听过NOtepad++这个词吗??如果你曾经使用过它,那么你知道它的功能。它可以提供任何文件的u代码,任何编码,比如binary.Yup,正如我所期望的那样-troll。别喂他,好的,我知道了。。你可以分享一些关于“上传文件的二进制安全机制,如FTP或HTML文件上传表单”的知识吗?你需要使用一个允许从你的计算机上传文件的服务。你不能使用只给你一个文本框的东西。