2012-09-24 39 views
1

我在家庭作業中必須連接到http服務器並使用套接字編程下載html文件和圖像文件。Java DataInputStream到圖像文件

我做得很好,能夠正確下載和寫入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(); 

    } 

感謝您的幫助!

回答

0

我認爲如果這是要求:在本地創建網頁。

你不應該只是下載文件(htmls,jpegs等),你也應該複製目錄結構,並且你不需要編寫單獨的代碼來在本地工作。

希望它有幫助:-)