读写二进制文件

二进制文件:比如视频、音频文件,这些文件在电脑中是以二进制的形式存储的。

读写二进制文件

主要用到的类是DataInputStream类和DataOutputStream类,这两个类都需要相应的字节输入流和字节输出流作为参数,就跟之前的字符流中的InputStreamReader和OutputStreamWriter一样。
实例:把一张图片复制到另外一个文件夹里面。

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo {
    public static void main(String[] args) {
        DataInputStream dis = null;
        FileInputStream fis = null;

        DataOutputStream dos = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream("G:/实验.jpg");
            dis = new DataInputStream(fis);

            fos = new FileOutputStream("G:/新建文件夹/shiyan.jpg");
            dos = new DataOutputStream(fos);
            int temp;
            while ((temp = dis.read()) != -1) {
                dos.write(temp);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                dos.close();
                fos.close();
                dis.close();
                fis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

复制的时候需要注意:fos = new FileOutputStream("G:/新建文件夹/shiyan.jpg");这样写是可以的,但是fos = new FileOutputStream("G:/新建文件夹");这样写就不行,会报下面这个异常:java.io.FileNotFoundException: G:\新建文件夹 (拒绝访问。)

你可能感兴趣的:(读写二进制文件)