程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 字節流-JAVA用二進制文件類復制圖片拋出EOFException

字節流-JAVA用二進制文件類復制圖片拋出EOFException

編輯:編程綜合問答
JAVA用二進制文件類復制圖片拋出EOFException

EOFException的意思我知道。我想知道怎麼實現每次以4個字節的速度復制圖片。用字符流會損壞圖片,只能用字節流。字節流的子類DataInputStream和DataOutputStream配合每次就能傳4個字節,傳視屏不完整,但傳圖片就拋出EOFException。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class TestDateInputStream {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        DataInputStream dis=new DataInputStream(new BufferedInputStream(new FileInputStream(new File("E:\\Temp\\245368.jpg"))));

        DataOutputStream dos=new DataOutputStream(new BufferedOutputStream(new FileOutputStream(new File("E:\\Temp\\36544.jpg"))));

        int i=0;

            while( (i=dis.readInt())!=-1){
                dos.writeInt(i);
                System.out.println(i);
            }
            dis.close();
            dos.flush();
            dos.close();
            System.out.println("OK");
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 
}

}

最佳回答:


你為什麼要用date流。。。貌似這個是網絡編程時有可能用到的,你換個字節流

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved