zoukankan      html  css  js  c++  java
  • IO流

    PrintWriter   PrintWriter(OutputStream out, boolean autoFlush)   通过现有的 OutputStream 创建新的 PrintWriter。

    在没有刷新前,写入的数据并没有真正的写入文件,只是保存在内存中,刷新后才会写入文件,如果程序中没有调用刷新方法,当程序执行完成时会自动刷新,也就是只有到数据全部执行完才会一次性写入,大数据量时对运行效率有影响,创建不具有自动刷新的对象,就是用这个对象写入数据时不会自动刷新。

    1.InputStream、OutputStream        处理字节流的抽象类

       InputStream 是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等.

       OutputStream是字节输出流的所有类的超类,一般我们使用它的子类,如FileOutputStream等

    2.InputStreamReader  OutputStreamWriter      处理字符流的抽象类

       InputStreamReader 是字节流通向字符流的桥梁,它将字节流转换为字符流

       OutputStreamWriter是字符流通向字节流的桥梁,它将字符流转换为字节流

    3.BufferedReader BufferedWriter

       BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,readLine读取一个文本行,从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。

      BufferedWriter  由Writer 类扩展而来,提供通用的缓冲方式文本写入, newLine使用平台自己的行分隔符,将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

          Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法。Writer中 write(),flush()和close()方法为抽象方法。子类应该分别实现他们。
         Java IO已经为我们提供了三个方便的Reader的实现类,FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等

         FileReader读txt文件例子
        FileReader fr = new FileReader("D:/Test.txt"); 
        int ch = 0;   
        while((ch = fr.read())!=-1 ){   
            System.out.print( (char)ch );   
        }   
    其中read()方法返回的是读取得下个字符。

    FileInputStream与BufferedInputStream区别:

     FileInputStream是字节流,BufferedInputStream是字节缓冲流,使用BufferedInputStream读资源比FileInputStream读取资源的效率高(BufferedInputStream的read方法会读取尽可能多的字节),且FileInputStream对象的read方法会出现阻塞;

    FileInputStream与FileReader区别:

    FileInputStream是字节流,FileReader是字符流,用字节流读取中文的时候,可能会出现乱码,而用字符流则不会出现乱码,而且用字符流读取的速度比字节流要快;

    ObjectOutputStream与ByteArrayOutputStream的区别:

    ObjectOutputStream可以将java对象写入outputstream流中(序列化),然后进行持久化,此对象必须是实现了java.io.Serializable 接口;

    ByteArrayOutputStream是将数据写入byte数组中;

    读写操作详解:http://blog.csdn.net/djun100/article/details/25642939

      

  • 相关阅读:
    windows api学习笔记读写其他进程的内存
    WindowsApi学习笔记创建一个简单的窗口
    windows api学习笔记创建进程
    汇编语言基础教程加法指令
    windows api学习笔记使用定时器
    windows api学习笔记多线程
    C#中两个问号的双目运算符
    通过UDP的组播方式收发数据
    windows api学习笔记用临界区对象使线程同步
    工作流学习笔记ifElse活动;从工作流中取出返回值;计算器实例
  • 原文地址:https://www.cnblogs.com/sam-cheng/p/7088067.html
Copyright © 2011-2022 走看看