IO流和Commons-IO的方法

本文详细介绍了Java中的IO流,包括File类、字节流与字符流的基本概念和常用方法,以及缓冲处理类如BufferedInputStream和BufferedReader。还探讨了转换流、数据处理流和对象处理流,特别提到了序列化与反序列化。此外,文章还阐述了Apache Commons-IO库的作用,如IOUtils、FilenameUtils和FileUtils的实用方法,帮助简化文件操作。
摘要由CSDN通过智能技术生成

IO流

File

在Java中,Everything is Object!所以在文件中,也不例外!在Java中,可以用 File 类来表示一个与硬盘上文件联系!!!注意:
1、File仅代表一个联系,可能文件存在,也可能不存在;
2、这里的文件可以是文件,也可以是文件夹

IO流的用法和概念

IO流是用来处理设备之间的数据传输,java对数据 的操作是通过流的方式,

java用于操作流的类都在IO包中,流主要分为,输入流和输出流。

流按操作类型分为两种;

字节流;字节流可以操作任何数据,因为在计算机中任何数据都是一字节的形式存储的

字符流;

字符流只能操作纯字符数据(文本),比较方便。

IO流的常用父类

字节流的抽象父类有;

InputStream(从磁盘输入到内存)和OutputStream(从内存输出磁盘).

字符流的抽象父类有

Reader(从磁盘输入到内存)和Writer(从内存输出到磁盘)

IO流的格式

/**
 * 字符流 拷贝文件
 * 一边读一边写
 */
public class TestIo03 {
   
    public static void main(String[] args) throws Exception {
   
        //从哪里读, 确定源头
        File file = new File("a.txt");
        //写到哪里去  确定写的目标
        File file1 = new File("b.txt");
        //创建 读入 和写出的流
        Reader r = new FileReader(file);//读入
        Writer w  = new FileWriter(file1);
        //创建一个缓冲区 暂时存放读取到的数据
        char[] car = new char[1024];
        int len = -1;//定义一个零时的变量
        //一边读出
        while (-1 != (len = r.read(car))){
   
             //一遍写入
            w.write(car,0,len);
        }
        //刷出 数据
        w.flush();
        //关闭流
        w.close();
        r.close();


    }
}

字节流的常用方法

返回值 方法

void close() 关闭此输入流并释放与流相关联的任何系统资 源。

abstract int read() 从输入流读取数据的下一个字节。

int read(byte[] b) 从输入流读取一些字节数,并将它们 存储到缓冲区 b

int read(byte[] b, int off, int len) 从输入流读取 多 len 字节的数据到一个字节数组。

字符流的常用方法

返回值 方法
abstract void ; close() 关闭流并释放与之相关联的任何系统资源。

int ; read() 读一个字符 int read(char[] cbuf) 将字符读入数组。
abstract int ; read(char[] cbuf, int off, int len) 将字符读 入数组的一部分。

对比InputStream和Reader 所提供的方法,可以看出这两个基类的功能基本相似。 在读取文件时返回结果为 -1 时表明到了输入流的结束点。 InputStream 和 Reade 都是抽象的,不能直接创建它们的实例,可以使用它们的子类。

文件节点类:

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值