• io系列之常用流一


    一、 读取键盘录入和数据打印


        在System类中,
              System.out: 对应的是标准输出设备(控制台)(一个PrintStream)。
              System.in: 对应的是标准输入设备(键盘)(一个InPutStream)。

        由System.in的定义可知 :public static final InputStream in : in属性本身是一个字节输入流对象,

                  可有: InputStream in = System.in;
                     其read方法是读入一个从键盘上输入的字节。


        由System.out的定义可知 :public static final PrintStream out:out本身就是一个字节输出流对象,

                  可有: PrintStream out = System.out;
                       其write方法是将一个字节打印到控制台上。

        另外: System.setIn :重新分配标准输入流
            System.setOut :重新分配标准输出流


    二、打印流

        该流提供了打印方法,可以将各种将各种数据类型都原样打印

        字节打印流:
            PrintStream
              构造函数可以接受的参数类型:


                    1,File对象: File 同时传入字符集名称可指定编码表
                    2,字符串路径: String 同时传入字符集名称可指定编码表
                    3,字节打印流: OutPutStream 同时传入True,可让println方法自动刷新


        字符打印流:
            PrintWriter
              构造函数可接受的参数:


                    1,File对象: File 同时传入字符集名称可指定编码表
                    2,字符串路径:String 同时传入字符集名称可指定编码表
                    3,字节打印流:OutPutStream 同时传入True,可让println方法自动刷新
                    4,字符打印流:Writer 同时传入True,可让println方法自动刷新


            他们中都有一个特有的输出方法:print and println




    三、读取转换流

        InputStreamReader ,将一个输入字节流,转换成一个输入字符流。(字节流到字符流的桥梁)

        构造方法:
            InputStreamReader(InputStream in) 传入一个输入字节流对象,创建一个使用默认字符集的 InputStreamReader

            InputStreamReader(InputStream in, Charset cs) 传入一个输入字节流对象,创建使用给定字符集的 InputStreamReader

            InputStreamReader(InputStream in, CharsetDecoder dec) 传入一个输入字节流对象, 创建使用给定字符集解码器的 InputStreamReader。

            InputStreamReader(InputStream in, String charsetName) 传入一个输入字节流对象, 创建使用指定字符集的 InputStreamReader

        键盘行录入的使用示例:BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));


    四、输出转换流

        OutputStreamWriter:将一个输出字节流,转换成一个输出字符流。(字符流到字节流的桥梁)

        构造方法:
            OutputStreamWriter(OutputStream out) 传入一个输出字节流对象,创建使用默认字符编码的 OutputStreamWriter

            OutputStreamWriter(OutputStream out, Charset cs) 传入一个输出字节流对象,创建使用给定字符集的 OutputStreamWriter。

            OutputStreamWriter(OutputStream out, CharsetEncoder enc) 传入一个输出字节流对象,

                                        创建使用给定字符集编码器的 OutputStreamWriter

            OutputStreamWriter(OutputStream out, String charsetName) 传入一个输出字节流对象,创建使用指定字符集的 OutputStreamWriter

        字符和字节之间的桥梁,一般,涉及到字符编码转换时,需要用到转换流(同时打印流也可以指定编码表)



    五、序列流

        SequenceInputStream(InputStream的子类)

        将装在集合中的InputStream对象按照顺序打印到指定的文件中(该集合必须具备Enumeration)

        构造方法:
            SequenceInputStream(Enumeration<? extends InputStream> e)

            SequenceInputStream(InputStream s1, InputStream s2)


      文件切割: Java中没有提供该方法,但是我们可以自己实现。
        思想: 使用一个数组来从源文件中读取数据, 每次将数据存入目的文件(碎片文件)1中,当该文件中存到规定容量时,
            让下一次数组中的数据存入目的问件(碎片文件)2中,当此文件也满时,存入三中,直到源文件数据被取完。

  • 相关阅读:
    sql分页存储过程疑惑:Row_Number与临时表哪个好?
    SQL之剪切
    在sqlserver2005中安装sql server 2000的示例数据库northwind
    安装SQL2005示例数据库
    Firefox浏览器中,Flex的FileReference上传文件,引发IOError
    Java获取方法的调用者
    ABAP screen常见语法
    XPO永久删除记录方法
    XPO的UpCasting
    在ASP.NET项目中使用XPO的最佳准则
  • 原文地址:https://www.cnblogs.com/soficircle/p/6714467.html
Copyright © 2020-2023  润新知