• Java进阶核心之OutputStream流


    Java进阶核心之OutputStream

    • OutputStream是输出字节流的父类,它是一个抽象类

      void write(int b)
      讲解:将指定的字节写入输出流
      
      void write(byte[] b)throws IOException
      讲解:将b.length个字节的byte数组写入当前输出流
      
      void flush() throws IOException
      讲解: write是写到缓冲区中,可以认为是内存中,当缓冲区满时系统会?自动将缓冲区的内容写入文件,但是一般还有一部分有可能会留在内存这个缓冲区中, 所以需要调用flush空缓冲区数据。
      
      void close() throws IOException
      讲解:关闭输入流并释放与该流关联的系统资源
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
    • 常见子类

      • FileOutputStream

        • 抽象类OutputStream用来具体实现类的创建对象, 文件字节输出流, 对文件数据以字节的形式进行行输出的操作
        • 构造函数

        //传入输出的文件地址
        public FileOutputStream(String name)

        //传入目标输出的文件对象
        public FileOutputStream(File file)

        //传入目标输出的文件对象, 是否可以追加内容
        public FileOutputStream(File file, boolean append)

    eg:

    package domee.chapter10_3;
    
    import domee.chapter6_6.Vehicle;
    
    import java.io.*;
    
    public class Main {
        public static void main(String[] args) throws IOException {
            String dir = "C:\Users\123\Desktop\test";
            String name = "a.txt";
            String name0 = "b.txt";
            File file = new File(dir,name);
            InputStream inputStream = new FileInputStream(file);
    //        printlnFile(inputStream);
    //        System.out.println("==================");
            OutputStream outputStream = new FileOutputStream(dir+File.separator+name0);
            //testWrite(inputStream,outputStream);
            testWriteBuf(inputStream,outputStream);
    
        }
    
        public static void read(InputStream inputStream)throws IOException{
            int readrulst =  inputStream.read();
            System.out.println(readrulst);
        }
    
        public static void printlnFile(InputStream inputStream)throws IOException{
            byte[] buf = new byte[inputStream.available()];
            int lenget;
            while ((lenget = inputStream.read(buf)) != -1){
                System.out.print(new String(buf,0,lenget));
            }
            inputStream.close();
    
    
        }
        //单个字节读取性能差效果不好,中文会有乱码
        public static void testWrite(InputStream inputStream,OutputStream outputStream)throws IOException{
            int value = 0;
            while (value != -1){
                value = inputStream.read();
                //System.out.print(value);
                outputStream.write(value);
            }
            inputStream.close();
            outputStream.close();
        }
    
        public static void testWriteBuf(InputStream inputStream,OutputStream outputStream)throws IOException{
            byte[] buf = new byte[1024];
            int length;
            while ((length = inputStream.read(buf)) != -1){
                outputStream.write(buf,0,length);
            }
            inputStream.close();
            outputStream.close();
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59

    在这里插入图片描述
    在这里插入图片描述

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    如何优雅的使用contorller层
    《算法导论》第14章-数据结构的扩张 14.1-动态顺序统计 14.2-如何扩张数据结构
    PingCode 完成近亿元人民币C轮融资,打造世界级研发管理与协作平台
    ReentrantLock可重入、可打断、Condition原理剖析
    java碎碎碎碎碎碎
    C++ 学习之函数对象
    IGMP原理与配置
    CSRF漏洞
    20230925 比赛总结
    网络安全(自学)
  • 原文地址:https://blog.csdn.net/m0_67392409/article/details/126109040