io流整体总结

 

   io流整体总结

        用的是装饰模式,装饰模式有四个角色,分别是通用接口、本原、抽象装饰、

具体装饰,因为是将本原聚合到了装饰中,所以可以将本原或装饰通过构造子注入到

另一个装饰,多个装饰可以随意的组合,形成一个综合的功能对象。

        io流分为输入流及输出流,输入流是文件到内存,输出流是内存到文件。

流分为低层流及高层流,在实例化高层流时必须通过构造子将低层流注入到高层

流中。输入流通用的方法是read(),read(char[]),read(byte[]),readline,输出流

的通用方法是write(int),write(byte[]),write[char[]],print("string")

当读取一个文件时,对于以字节/字节数组,字符/字符数组读取的结束条件是!=-1,

对于以字符串读取的结束条件是!=null。通过有缓存的输出时,要想写入到文件

必须flushclose

        输入字节流的体系结构

                                InputStream

                FileInputStream                 FilterInputStream

                                ObjectInputStream        DataInputStream                BufferedInputStream

                实现代码:

                        --读一个字节

                        int temp=fis.read();

                        while(temp!=-1)

                        {

                                System.out.print(temp);

                                temp=fis.read();

                        }

                        --读一批字节

                        byte[] bytes=new byte[1000];

                        int result=fis.read(bytes);

                        while(result!=-1)

                        {

                                String temp=new String(bytes,0,result);

                                result=fis.read(bytes);

                        }

        输出的字节流:

                                OutputStream

                FileOutputStream              FilterOutputStreame

                                ObjectOutputStream        BufferedOutputStream        DataOutputStream    PrintStream

        输出字节流代码:

                int temp;

                fis.write(temp);

                byte temps[]=new byte[1000];

                fos.write(temps);

        输入的字符流

                                Reader

                FileReader                 InputStreamReader(将字节流转化字符流)

                                                BufferedReader(有缓存)

        输入字符流的实现

                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

                String temp=br.readLine();

                while(temp!=null)

                {

                        temp=br.readLine();

                }

        输出的字符流:

                                Writer

                FileWriter                  OutputStreamWriter

                                        BufferedWriter          PrintWriter

        输出字符流代码:

                fw.write(int)

                fw.write(char[])

                fw.write("string");

PrintStreamBufferedWriterPrintWriter

        PrintStream:属于字节流,即可以打印字节也可以打印数组,

                    写入文件不用closeflushe.printStackTrace()

                    System.out.println()都是它的实例。

        BufferedWriterPrintWriter:属于字符流,只可以打印字符或字符串

                 因为有缓存,要想写入文件必须closeflush

 

       

               

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值