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

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 案例:完善石头迷阵游戏中的历史最少步骤信息展示

在这里插入图片描述

http://www.xdnf.cn/news/8828.html

相关文章:

  • 05. C#入门系列【类、结构、枚举】:从青铜到王者的进阶之路
  • 什么是maven(详细介绍)
  • 并发编程艺术--AQS底层源码解析(二)
  • 在train和eval模式下性能差距的问题(本文聚焦于BatchNorm2d)
  • TensorRT----RepVGG模型推理与部署
  • 解决leensa无法连接的问题:平替教程
  • 【PhysUnits】12 加法操作(add.rs)
  • 位图与布隆过滤器
  • 历年北京邮电大学保研上机真题
  • DAY36打卡@浙大疏锦行
  • c/c++怎样编写可变参数函数.
  • Scratch游戏 | 枪战游戏
  • 鸿蒙开发:了解$$运算符
  • 检索增强生成(RAG)完全入门指南
  • Gartner报告解读《Technical Professionals Need to Track 5 ImportantLLM Developments》
  • 【网络安全】轻量敏感路径扫描工具
  • 54页 @《人工智能生命体 新启点》中國龍 原创连载
  • 07_模型训练篇-Torchvision(中):数据增强,让数据更加多样性
  • 处处可见的FOC驱动电机技术
  • Java集合框架基础知识点全面解析
  • 《仿盒马》app开发技术分享-- 定位获取(端云一体)
  • go1.24 通过汇编深入学习map引入swiss table后的源码
  • orzdba.gz 下载解压使用教程:MySQL/InnoDB 监控命令参数详解与实战技巧
  • 8天Python从入门到精通【itheima】-41~44
  • 基于Deepseek视觉语言模型识别与训练九宫格验证码
  • PrivaZer隐私保护软件:守护隐私,优化系统
  • 【Android】System分区应用自带库与原生库同名问题分析
  • PPO算法详解
  • 第八章:数据幻域 · 状态与响应的涌动之力
  • 【音视频开发】音视频基础概念