当前位置: 首页 > news >正文

Javase 基础加强 —— 09 IO流第二弹

本系列为笔者学习Javase的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员Java+AI智能辅助编程全套视频教程,java零基础入门到大牛一套通关》,章节分布参考视频教程,为同样学习Javase系列课程的同学们提供参考。

01 缓冲字节流

在这里插入图片描述

BufferedInputstream缓冲字节输入流可以提高字节输入流读取数据的性能。

在这里插入图片描述

在这里插入图片描述

InputStream fis = new FileInputStream(srcPath);
InputStream bis = new BufferedInputStream(fis); //我勒个偷天换日

02 缓冲字符流

在这里插入图片描述

BufferedReader缓冲字符输入流自带8K(8192)的字符缓冲池,可以提高字符输入流读取字符数据的性能。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Reader fr = new FileReader("day03-file-io\\src\\dlei08.txt");
Reader br = new BufferedReader(fr);//一行一行读
System.out.println(br.readline());//循环版 一行一行读
String line;
while((line = br.readline()) != null){System.out.println(line);
}

注:优雅,实在是太优雅了!

BufferedWriter缓冲字符输出流自带8K的字符缓冲池,可以提高字符输出流写字符数据的性能。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Writer fw = new FileWriter("day03-file-io/src/dlei07-out.txt", true);
BufferedWriter bw = new BufferedWriter(fw);bw.newLine(); //换行

注:Shift + F6召唤全文筛选 + 替换。

03 案例:复制文言文

需求: 将文言文《出师表》的文章顺序进行恢复到一个新文件中。

分析:

在这里插入图片描述

package FileDemo;import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class Test {public static void main(String[] args) {//目标:复制文言文//1.创建缓冲字符输入流管道try (BufferedReader br = new BufferedReader(new FileReader("0416-oop\\src\\FileDemo\\chushibiao.txt"));BufferedWriter bw = new BufferedWriter(new FileWriter("0416-oop\\src\\FileDemo\\chushibiao2.txt"));) {//2.创建List集合,按行读取数据并排序List<String> data = new ArrayList<>();String line;while((line = br.readLine()) != null){data.add(line);}Collections.sort(data);System.out.println(data);//3.遍历List集合,按行输出数据for(String s : data){bw.write(s);bw.newLine(); //换行}System.out.println("执行完毕!");}catch (Exception e){e.printStackTrace();}}
}

04 字符输入转换流

在这里插入图片描述

InputStreamReader(字符输入转换流) 解决不同编码时,字符流读取文本内容乱码的问题。

先获取文件的原始字节流,再将其按真实的字符集编码转成字符输入流,这样字符输入流中的字符就不乱码了。

在这里插入图片描述

05 IO 框架

什么是框架?

框架(Framework)是一个预先写好的代码库或一组工具,旨在简化和加速开发过程,一般是把类、接口等编译成class形式,再压缩成一个jar结尾的文件发行出去。

在这里插入图片描述

什么是IO框架?

IO框架封装了Java提供的对文件、数据进行操作的代码,对外提供了更简单的方式来对文件进行操作,对数据进行读写等。

导入步骤:

  • 在项目中创建一个文件夹:lib
  • commons-io-2.6.jar文件复制到lib文件夹
  • jar文件上点右键,选择Add as Library ->点击OK
  • 在类中导包使用

Commons-io框架

Commons-ioapache开源基金组织提供的一组有关IO操作的小框架,目的是提高IO流的开发效率。

在这里插入图片描述

06 案例:完善石头迷阵游戏中的历史最少步骤信息展示

在这里插入图片描述

相关文章:

  • Karakeep | 支持Docker/NAS 私有化部署!稍后阅读工具告别云端依赖,让知识收藏更有序
  • 【医学影像 AI】使用 PyTorch 和 MedicalTorch 实现脊髓灰质分割
  • CMake指令:find_package()
  • Python-多线程编程(threading 模块)
  • 考研政治资料分享 百度网盘
  • Odoo: Owl Props 深度解析技术指南
  • Oracle中的[行转列]与[列转行]
  • 2025京麒CTF挑战赛 计算器 WriteUP
  • OpenHarmony平台驱动使用(一),ADC
  • 《算法导论(第4版)》阅读笔记:p1178-p1212
  • Go语言中常量的命名规则详解
  • OPENEULER搭建私有云存储服务器
  • 【C++】string的模拟实现
  • QTableWidget的函数和信号介绍
  • java基础知识回顾3(可用于Java基础速通)考前,面试前均可用!
  • pinia状态管理使用
  • 使用CRTP实现单例
  • 22、web场景-web开发简介
  • 弦序参量(SOP)
  • 详解Innodb一次更新事物的执行过程
  • 网站设计的公司设计/关键词查网址
  • 拖式网站建设/免费的网站域名查询565wcc
  • 深圳企业网站建设报价/域名批量查询工具
  • 自己电脑做服务器搭建网站有域名/凤山网站seo
  • 做个网站成本/百度首页 百度一下
  • 成都网站建设优惠活动/长春视频剪辑培训机构