1

我正在做作业,我必须连接到 http 服务器并使用套接字编程下载 html 文件和图像文件。

我做得很好,能够正确下载和编写 html 和图像文件。但是当我编辑代码以满足作业的要求时(网页必须在本地工作,所以编辑代码以重写html,图像文件没有被正确写入。

我不记得编辑下载图像的方法的代码。当我认为我完成时,我刚刚检查了我的文件,并且图像显示无效图像。

字节(当我在记事本++中并排打开正确的图像和下载图像时),字节是相同的。问题是在下载的图像上,字节被写入一个长行,而在正确的图像中,字节是逐行写入的。

尝试了几种不同的方法,都没有奏效。事实上,我发送给朋友的旧代码(在上面的编辑之前)似乎也不起作用。有任何想法吗?

        DataInputStream imgIn=new DataInputStream(socket.getInputStream());
        DataOutputStream imgOut = new DataOutputStream(new FileOutputStream(host+path)); 
        byte[] byteArr=new byte[1024];

        int bytesRead=0,totalBytesRead=0;

        while (totalBytesRead<imageSize ){

            bytesRead=imgIn.read(byteArr,0,1024);
            totalBytesRead+=bytesRead;
            imgOut.write(byteArr,0,bytesRead);
                imgOut.flush();

        }

       /* while ((bytesRead = imgIn.read(byteArr)) > 0)
        {
          imgOut.write(byteArr, 0, bytesRead);
          imgOut.flush();
        }*/


        imgIn.close();
        imgOut.close();

    }

谢谢你的帮助!

4

1 回答 1

0

我认为如果这是要求:在本地创建网页。

您不应该只下载文件(htmls、jpegs 等),您还应该复制目录结构,并且您不需要编写单独的代码来在本地工作。

希望能帮助到你 :-)

于 2012-09-24T14:20:27.200 回答