java 复制图片

在学习了java IO 的基本理论之后做如下总结:
1、java的IO操作分为字节流和字符流两种方式。字节流可以传输任意类型的文件,而字符流只可以传输文本类型的文件(字符)。在大多数场景下,能用字符流传输文件的就不需要使用字节流,原因是字符流的读写效率更高一些。
2、用作读写二进制数据的根类是FileInputStream和FileOutputStream,都是抽象类。具有如下子类:
AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, InputStream, ObjectInputStream, PipedInputStream, SequenceInputStream, StringBufferInputStream

3、InputStream常用方法
java 复制图片_第1张图片
InputStreammethod

4、OutputStream常用方法
java 复制图片_第2张图片
outputstream.png

CopyImage.java

package output;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class CopyImage {
    
    public static void main(String[] args) throws IOException {
        //找到目标文件
        File inFile = new File("C:\\Users\\wsl\\Desktop\\management.png");
        File destFile = new File("C:\\Users\\wsl\\Desktop\\1.png");
        //建立数据的输入输出通道
        FileInputStream fileInputStream = new  FileInputStream(inFile);
        FileOutputStream fileOutputStream = new FileOutputStream(destFile); //追加数据....
        
        //每新创建一个FileOutputStream的时候,默认情况下FileOutputStream 的指针是指向了文件的开始的位置。 每写出一次,指向都会出现相应移动。
        //建立缓冲数据,边读边写
        byte[] buf = new byte[1024]; 
        int length = 0 ; 
        while((length = fileInputStream.read(buf))!=-1){ 
            fileOutputStream.write(buf,0,length); //写出很多次数据,所以就必须要追加。
        }
        //关闭资源 原则: 先开后关,后开先关。
        fileOutputStream.close();
        fileInputStream.close();
    }
}

你可能感兴趣的:(java 复制图片)