java学习笔记97--字节流中的常用节点流

注:java中常用的io流都在java.io包中
    1)InputStream
        //从输入流中读取数据的下一个字节
        //如果到达流的末尾则返回 -1
        public abstract int read();
        //把读到的字节存到字节数组b中,并返回本次读到了多少个字节
        public int read(byte[] b){..}
        //把读到的字节存到字节数组b中,同时指定开始存的位置以及最大字节数,并返回本次读到了多少个字节
        public int read(byte[] b,int off,int len){..}
        
        //返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数
        public int available(){..}
        
        //跳过此输入流中数据的 n 个字节
        public long skip(long n){..}

        //关闭此输入流并释放与该流关联的所有系统资源
        public void close(){..}
        
        //测试此输入流是否支持 mark 和 reset 方法
        public boolean markSupported(){..}
        //在此输入流中标记当前的位置
        public void mark(int readlimit){..}
        //将此流重新定位到最后一次对此输入流调用mark方法时的位置
        public void reset(){..}
    

    2)OutputStream
        //将指定的字节写入此输出流
        public abstract void write(int b);
        //将字节数组b中的所有字节写入此输出流
        public void write(byte[] b){..}
        //将字节数组b中的字节写入此输出流,指定开始位置及最大字节数
        public void write(byte[] b,int off,int len){..}

        //刷新此输出流并强制写出所有缓冲的输出字节
        public void flush(){..}

        //关闭此输出流并释放与此流有关的所有系统资源
        public void close(){..}
    
        
    3)InputStream的子类和OutputStream的子类几乎都是成对出现的,一个负责读数据的工作,一个负责写数据的工作
    
    
    4)System.out和System.in
        System类的部分源码:
        public final class System{
            //标准输入流
            public final static InputStream in = null;
            //标准输出流。
            public final static PrintStream out = null;
            //标准错误输出流
            public final static PrintStream err = null;

            public static void setIn(InputStream in){..}
            public static void setOut(PrintStream out){..}
            public static void setErr(PrintStream err){..}
        }

        标准输入流会默认从控制台读取数据
        标准输出流会默认把数据输出到控制台

        System.out.println(System.in.getClass());
        System.out.println(System.out.getClass());
        输出结果为:
        class java.io.BufferedInputStream
        class java.io.PrintStream

    
    5)ByteArrayInputStream和ByteArrayOutputStream
        ByteArrayInputStream可以从数组中读取字节
        ByteArrayOutputStream可以把字节写到对象中的缓冲区里面,其实就是一个字节数组

    6)FileInputStream和FileOutputStream
        FileInputStream可以读取文件中的字节
        FileOutputStream可以向文件中写进去字节

    7)PipedInputStream和PipedOutputStream
        PipedInputStream管道字节输入流
        PipedOutputStream管道字节输出流

        注:使用时需要把俩个管道进行对接

    8)ObjectInputStream和ObjectOutputStream
        在序列化中要使用的对象输入流和对象输出流,之后再来使用测试
    
    9)java.io.File类
        File类型对象可以表示一个文件也可以表示一个目录.

猜你喜欢

转载自blog.csdn.net/onepiece_loves/article/details/88788596
今日推荐