对文件的读写

在java中如果要对文件进行读写,需要通过“流”进行读写操作,那什么是流呢?

    流,可以理解为“通道”,是指一连串的字符,已先进先出的方式发送和接收数据的通道。

    按照不同的分类方式,可以将流分为不同类型:

      (1)按照流的流向分类,可以将流分为输入流和输出流(从客户端或内存的角度出发),这四个类都是抽象类,只能作为父类:

                

        (2)按照所操作的数据单元的不同,流可以分为字节流和字符流(字节是8位,字符是16位):

                  

使用字节流复制文本文件():

          

 

                 

 

 使用字符流操作数据:

    在字符流中,输入流父类Reader类下,有FileReader类,同时还有BufferedReader类,它和FileReader类的不同之处在于BufferedReader类带有缓冲区,它可以把一批数据读到缓冲区,避免每次都从数据源读取数据,提高读取效率,

通常和FileReader类一起使用。

使用字符流案例:读取文件并替换,然后重新写入 

 

 

对二进制文件的读写:

    使用字节流类DataInputStream读取二进制文件(除文本以外的文件),其中DataInputStream流是输入流,DataOutputStream流是输出流,实例如下:

            

 

 另外注意:在使用字节流读取中文时,会出现乱码问题,这里就要用到另外两个类,分别是InputStreamReaderOutputStreamWriter , 用于将字节转换为字符

                  

 

posted @ 2019-03-06 11:06  封装、继承、多态  阅读(211)  评论(0)    收藏  举报