Java基础深化:IO流

IO流介绍

流的种类

分类图:
在这里插入图片描述

基本类

字节流:
节点流
父类:InputStream,OutputStream
子类 FileInputStream,FileOutputStream
处理流
缓冲:
父类接口:FilterInputStream,FilterOutputStream
实现类: BufferedInputStream, BufferedOutputStream

字符流:
节点流
父类:Reader Write
子类:InputStreamReader,OutputStreamWrite
处理流
缓冲:BufferedReader,BufferedWrite

IO操作步骤

建立联系(确定目标)->确定流->进行操作(读/写)->关闭流
代码示例:

/*
* 字符流读取()一个数据
* 流程:确定目标
*       确定流
*       读取
*       关闭流
* */
public class Demo001 {
    public static void main(String[] args) throws IOException {
        File  f=new File("a.text");
        Reader r=new FileReader(f);
        //读取一次
        // System.out.println((char) r.read());
        //循环读取
        int i=0;
     while ((i=r.read())!=-1){
         //打印读取的值,将其转换为char类型
    System.out.println((char)i);
  }
     //关闭流
     r.close();
    }

PS:输入输出是相对于程序来说的,即读数据为输入,写数据为输出

基本输入流

概念

用来读取的,将其他地方的数据读取到Java内存的流称为输入流

抽象类:InputStream(字节) 和 Reader(字符)

常用方法(InputStream):
在这里插入图片描述
常用方法(Reader)
在这里插入图片描述

文件节点类: FileInputStream 和 FileReader

FileInputStream 和 FileReader,它们都是节点流,直接和指定文件关联。操作方式基本一致。而且都使用父类种的方法即可。

基本输出流

抽象类:OutputStream 和 Writer

常用方法:字节流
在这里插入图片描述
常用方法:字符流
在这里插入图片描述

文件节点类: FileOutputStream 和 FileWriter

在抽象类下面,真正可以创建对象的是FileOutputStream 和 FileWriter,它们都是节点流,直接和指定文件关联

缓冲处理

作用

缓冲提高性能:字节流缓冲流直接套在节点流上即可使用;字符缓冲流 +新增方法(不能使用多态):

BufferedInputStream

构造器
在这里插入图片描述
常用方法:
在这里插入图片描述

BueredReader

构造器
在这里插入图片描述
常用方法:
在这里插入图片描述

Connons_IO工具

简介

CommonsIO是apache的一个开源的工具包,封装了IO操作的相关类,使用CommonsIO可以很方便的读写文件,url源代码等。commons-IO 需要加入classpath 的第三方jar 包内的 class 文件才能在项目中使用

架包

commons-io架包下载地址

相关类

IOUtils包含一些工具类,用于处理读,写和拷贝,这些方法基于InputStream, OutputStream, Reader和Writer工作

FileUtils包含一些工具类,它们基于File对象工作,包括读,写,拷贝和比较文件

FilenameUtils包含一些工具类,它们基于文件名工作而不是File对象。这个类旨在在Unix和Windows环境下保持一致,帮助在两个环境下过渡(如从开发环境到生成环境)

FileSystemUtils包含一些工具类,基于文件系统访问功能不被JDK支持。目前,只有一个方法就是得到驱动器空余空间。注意这使用命令行而不是 nativecode。

常用方法

IOUtils
在这里插入图片描述
FileUtils
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
移动文件
在这里插入图片描述
FilenameUtils
在这里插入图片描述
在这里插入图片描述
FileSystemUtils
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值