我正在做作业,我必须连接到 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();
}
谢谢你的帮助!