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

Java基础 Day23

一、字符缓冲流

字符缓冲流在源代码中内置了字符数组,可以提高读写效率

1、构造方法

BufferedReader(Reader reader)

对传入的字符输入流进行包装

BufferedWriter(Writer writer)

对传入的字符输出流进行包装

注意: 缓冲流不具备读写功能, 它们只是对普通的流对象进行包装

真正和文件建立关联的, 还是普通的流对象

2、特有方法

(1)BufferedReader

public String readLine() 

读取一行字符串, 读取到末尾返回 null

(2)BufferedWriter

public void newLine() 

写出换行符 (具有跨平台性)

二、转换流

1、作用

按照指定的字符编码进行读写操作

将字节流转换成字符流进行操作

2、构造方法

InputStreamReader (InputStream in, String charsetName)

按照指定的字符编码读取

OutputStreamReader (OutputStream out, String charsetName)

按照指定的字符编码写出

三、序列化流

可以在流中,以字节的形式直接读写对象

1、构造方法

public ObjectInputStream(InputStream in) 

对象输入流关联文件, 关联方式使用字节输入流

public ObjectOutputStream(OutputStream out)

对象输出流关联文件, 关联方式使用字节输出流

2、成员方法

(1)ObjectInputStream

Object readObject() 

从流中读取对象(反序列化)

注意:readObject方法读到末尾会抛出EOFException异常

(2)ObjectOutputStream

void writeObject(Object obj) 

在流中将对象写出 (序列化)

3、注意事项

(1)类需要实现Serializable接口才能序列化

(2)使用transient关键字修饰成员变量,该成员变量不会序列化

(3)实现Serializable接口,类会有一个serialVersionUID(版本号),最好手动编写

四、打印流

1、简介

打印流可以实现方便、高效的打印数据到文件中去,并且可以指定字符编码

可以实现打印什么数据就是什么数据,原样打印

System.out 就是一个PrintStream 流的对象,关联到控制台

2、PrintStream 流

public PrintStream (OutputStream os)

打印流直接通向字节输出流管道

public PrintStream (File f, String csn)

打印流直接通向文件对象, 指定字符编码

public PrintStream (String filepath, String csn)

打印流直接通向文件路径, 指定字符编码

public void print\println(Xxx xx)

打印任意类型的数据出去

3、PrintWriter 字符打印流

public PrintWriter (OutputStream os)

打印流直接通向字节输出流管道

public PrintWriter (Writer w)

打印流直接通向字符输出流管道

public PrintWriter (File  f)

打印流直接通向文件对象

public PrintWriter (String filepath)

打印流直接通向文件路径

public void print\println(Xxx xx)

打印任意类型的数据出去

五、Properties 集合

本质就是一个Map集合,常用于加载配置文件

构造方法用空参构造

1、Properties 作为集合的使用

Object setProperty​(String key, String value)

添加(修改)一个键值对

String getProperty​(String key) 

根据键获取值

Set<String> stringPropertyNames()

获取集合中所有的键

2、Properties 和 IO 有关的方法

void load​(InputStream inStream)

从流中加载数据到集合(字节流)

void load​(Reader reader)

从流中加载数据到集合(字符流)

void store​(OutputStream out, String comments)

将集合的键值对写出到文件(字节流)

void store​(Writer writer, String comments)

将集合的键值对写出到文件(字符流)

public class PropertiesDemo {public static void main(String[] args) throws IOException {Properties prop = new Properties();prop.setProperty("username", "Tom");prop.setProperty("password", "123456");System.out.println(prop.getProperty("username"));System.out.println(prop.getProperty("password"));// 注意后缀名用 .propertiesFileWriter fw = new FileWriter("./day23/src/config.properties");prop.store(fw, "This is a test");fw.close();Properties prop2 = new Properties();FileReader fr = new FileReader("./day23/src/config.properties");prop2.load(fr);fr.close();System.out.println(prop2);}
}控制台输出:
Tom
123456
{password=123456, username=Tom}config.properties 文件内容:
#This is a test
#Wed May 28 22:48:32 GMT+08:00 2025
password=123456
username=Tom

 

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

相关文章:

  • ROC和生存曲线的绘制-spss
  • 精准监测,健康无忧--XC3576H工控主板赋能亚健康检测仪
  • 数据库相关面试
  • 74道TypeScript高频题整理(附答案背诵版)
  • Python解析DOC文档表格
  • Ovito建模并正交化方法
  • 删除队列中整数
  • 股票收益率的计算
  • 新能源工厂环境监控系统如何提升电池生产洁净度
  • C# async/await 完全指南:从入门到实践
  • API 与 SPI
  • iframe三方页面嵌入
  • 【深度学习-pytorch篇】3. 优化器实现:momentum,NAG,AdaGrad,RMSProp,Adam
  • 张 测试大数据集的效果
  • 国内外AI编程工具对比(Trae对比Cursor)
  • 【网络通信】网络通信全解
  • 【操作系统】硬件结构知识点详解
  • jenkins配置ssh server通过ssh自动上传构建文件及执行脚本
  • 教师申报书课题——项目名称: 基于DeepSeek-R1与飞书妙记的课堂话语智能分析实践计划
  • NVIDIA Mellanox BlueField-2 DPU(Data Processing Unit)智能网卡的调试和使用
  • 碰一碰系统源码搭建==saas系统
  • 【HALCON】 深入解析 select_gray 算子
  • 英雄类(Hero)
  • chapter2-处理文本数据
  • 使用dig查看dns递归查询过程
  • Python编程6——面向对象编程1
  • 在 WSL 中安装 JetBrains Toolbox:完整指南
  • Lua中table、模块、元表和元方法
  • VScode单双引号、分号格式
  • 基于ssm的商城系统(全套)