java 复制图片

作者: 天才一般的幼稚 | 来源:发表于2019-02-28 18:46 被阅读0次

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

    3、InputStream常用方法 InputStreammethod
    4、OutputStream常用方法
    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 复制图片

        本文链接:https://www.haomeiwen.com/subject/meckuqtx.html