IO(九)


1.什么是IO技术?

   IO技术指的是java中用来在不同设配之间实现数据传输的技术;

   

File[] file = f.listFiles(此处可以指定过滤器);

2.字节流:专门用来处理二进制数据(可以处理字符数据);如图片电影等

统治者:(本身不能够做事,即不能创建对象)

        (1InputStream(字节输入流)

        (2OutputStream(字节输出流)

各司其职的类:(能够做事的具有不同本领的官员,由统治者根据需求让不同官员做事,即父类引用指向子类对象,使用子类的实现方法去完成事情)

        (1)操作内存的流:(作用:在内存中代替零时文件,相对于使用硬盘上的临时文件提高了性能)

                           ByteArrayInputStreamByteArrayOutputStream

                       CharArrayReaderCharArrayWriter

      (2)操作文件的流:FileInputStreamFileOutputStream

      (3)操作对象的流:ObjectInputStreamObjectOutputStream

      (4)线程通信的流:PipedInputStreamPipedOutputStream

      (5)合并流的流:SequenceInputStream

      (6)打印各种数据的流,还可以格式化输出:PrintStream

      (7)缓冲流:BufferedInputStreamBufferedOutputStream

 

其它:字节流读写文件都是源和目的直接交互,不会采用缓冲区,所以说字节流不需要刷新;

3.字符流:专门用来处理字符数据(不可以用来处理二进制数据)如文本

   统治者:

            (1Reader(字符读取流)

            (2Writer(字符写入流)

   各司其职的类:

            (1)带行号的流:LineNumberReader

          (2)使用平台默认字符集的文件操作流,它们是(3)的直接子类:

               FileReaderFileWriter

            (3)可以指定编码或者将字节流转换为字符流的流:

                 InputStreamReaderOutputStreamWriter

               最典型的就是System.out,它是字节流InputStream的对象,对应控制台,但是控制台上面的是字符,使用字节流操作显然不方便,那么就需要转换为字符流

          (4)打印各种数据的流:PrintWriter

          (5)缓冲流:BufferedReaderBufferedWriter

    其它:字符流读写文件为了提高效率使用了缓冲区,所以为了保证数据完全输出要在最后close资源,以刷新缓冲区并且释放资源;在不需要关闭但是需要刷新缓冲区的时候我们应该使用flush刷新缓冲区;

 

4.File 类:

   是一个表示文件或者文件夹的类,通过它可以实现对文件或者文件夹的各种操作。

5.FilenameFilter接口:文件过滤器.

   需要覆写的方法:此方法可以指定哪些文件被过滤掉;dir表示当前正在遍历的文件夹,name表示此文件夹下的文件名,如果此方法返回true,则过滤器不过滤此文件;

   public boolean accept(File dir, String name) {

return name.endsWith(“’java);

}

 

   使用的地方:在需要列出文件时;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值