干货分享丨Java开发大角色之IO流

Java开发的中的IO流应用是比较广泛的,有专门用来处理字符串文本的字符流,有专门用来传输视频图片等新媒体资料的字节流……

牛耳教育的同学们知道,在课程中我们强调过,IO流是“Java软件开发工程师面试必问知识点”,而在实际开发工作中,我们更加需要深刻理解和灵活运用它。
首先我们回顾基础理论知识。

1.什么是IO流?
在这里插入图片描述

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

在这里插入图片描述

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

  • 根据流动方向:输入流和输出流
  • 参照物:程序本身
  • 根据传输格式:字节流和字符流

2.IO体系结构?
在这里插入图片描述

3.字节流应用

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()写文件,把内存中的文件读取到硬盘中来。免费学习视频及源代码/BATJ面试宝典解析视频QQ群957034647

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

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

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

                   byte[] buffer = str.getBytes();

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

                   fos.write(buffer);

                 //关闭流

                   fos.close();

字节流实用案例-完成文件的复制
在这里插入图片描述
免费学习视频及源代码/BATJ面试宝典解析视频QQ群957034647

4.字符流应用

FileReader类 / FileWriter类:

文件读取流 / 文件写入流

BufferedReader / BufferedWriter类:

缓冲读取流 / 缓冲写入流

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

BufferedReader类方法:

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

BufferedWriter类方法:

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

void newLine() :换行

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

字符流应用实例-统计指定文件各字符出现次数
在这里插入图片描述
在这里插入图片描述

OK,今天关于Java IO流实例进行了非常详尽的思路解析,大家需要反复操作练习,在面试时乃至将来的Java开发工作中才能举一反三,灵活运用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值