java io大文件内容_技术干货 | Java开发大角色之IO流

原标题:技术干货 | Java开发大角色之IO流

Java开发的中的IO流应用是比较广泛的,有专门用来处理字符串文本的字符流,有专门用来传输视频图片等新媒体资料的字节流,我们今天就来好好研究下IO.

什么是IO流?

IO流简单来说就是Input和Output,流是指一连串流动的字符,是以先进先出方式发送信息的通道,流主要是用来处理设备之间的数据传输,

Java对于数据的操作都是通过流实现,而java用于操作流的对象都在IO包中,

根据流动方向:输入流和输出流(参照物:程序本身)

根据传输格式:字节流和字符流

字符流只用来处理文本数据,字节流用来处理媒体数据

IO体系结构?

e1b934ec85bc59989a553d8f8f3091c1.png

75a312dcd2b2e39812c6bf4724d55fa2.png

ea6a7bded639c780fb891e7763101268.png

fac843b0d855c3f0040a2b302a8e4835.png

字节流应用

FileInputStream

文件输入流,继承于InputStream类,是进行文件读操作的最基本类

作用:调用read()读文件 把硬盘中的文件读取到内存

案例: File file = new File("readme.txt");

try {

// 使用File对象创建文件输入流对象,相当于打开文件

FileInputStream fis = new FileInputStream(file);

// 新建字节数组作为缓冲区

byte[] b = new byte[(int) file.length()];

// 读取文件内容到缓冲区

fis.read(b);

// 把字节数组重新构造成字符串,然后输出到控制台

System.out.println(new String(b));

// 关闭文件输入流

fis.close();

FileOutputStream

称为文件输出流,继承于OutputStream类,是进行文件写操作的最基本类;

作用:调用write()写文件 把内存中的文件读取到硬盘中来

案例: //通过文件名创建文件输出流对象

FileOutputStream fos = new FileOutputStream("test.txt");

//将字符串转化为字节数组

byte[] buffer = str.getBytes();

//将字节数组中包含的数据一次性写入到文件中

fos.write(buffer);

//关闭流

fos.close();

字节流实用案例完成文件的复制:

81435494515f7ce4e69a0c3e81b0b8a9.png

5fd96d16ecac71b4defa91f51ca4255f.png

字符流应用

FileReader类和FileWriter类; 文件读取流 / 文件写入流

BufferedReader类和BufferedWriter类 缓冲读取流 / 缓冲写入流

注意:一般为了提高效率 字符流都搭配缓冲流一起使用

BufferedReader类方法:

String readLine():从缓冲流中读取一行

BufferedWriter类方法:

void write(String str):将字符创str写入到缓冲流去

void newLine() : 换行

void flush() : 刷新缓冲流的数据

字符流应用实例完成指定文件中各个字符出现的次数:

d1ac932f7f6a08082ca7587a281543e6.png

8eb154d7299ef5d8a15906f1e9c78519.png

更多技术干货关注:牛耳教育 www.newer2001.com返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值