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

JAVA高级第七章输入和输出处理(二)

1.Reader类

Reader类常用方法

  • int read( )
  • int read(char[] c)
  • read(char[] c,int off,int len)
  • void close( )

子类InputStreamReader常用的构造方法

  • InputStreamReader(InputStream in)
  • InputStreamReader(InputStream in,String charsetName)

2.FileReader类

FileReader类是InputStreamReader的子类

  • FileReader(File file)
  • FileReader(String name)

该类只能按照本地平台的字符编码来读取数据,用户不能指定其他的字符编码类型

System.out.println(System.getProperty(“file.encoding”));
获得本地平台的字符编码类型

3.使用FileReader读取文件

与字节流FileInputStream类实现文本文件读取步骤类似

  • 1.引入相关的类

import java.io.Reader;
import java.io.FileReader;
Import java.io.IOExceprion;
  • 2.创建FileReader对象
    Reader fr= new FileReader("D:\\myDoc\\简介.txt");
  • 3.读取文本文件的数据
    fr.read();
  • 4.关闭相关的流对象
    fr.close();

4.BufferedReader类

如何提高字符流读取文本文件的效率?

  • 使用FileReader类与BufferedReader类

    BufferedReader类是Reader类的子类
    BufferedReader类带有缓冲区
    按行读取内容的readLine()方法
    BufferedReader常用的构造方法
    BufferedReader(Reader in)
    子类BufferedReader特有的方法
    readLine()

5.使用 BufferedReader读文本文件

在这里插入图片描述

6.解决读取时中文乱码

读取包含中文的文本文件时,可能出现中文乱码,怎么办?

FileReader fr = new FileReader("c:\\myDoc\\hello.txt");
BufferedReader br=new BufferedReader(fr); FileInputStream fis=new FileInputStream("c:\\myDoc\\hello.txt");
//使用InputStreamReader并设置编码格式
InputStreamReader fr=new InputStreamReader(fis,"UTF-8"); 
BufferedReader br=new BufferedReader(fr); 

7.Writer类

Writer类常用方法

write(String str)
write(String str,int off,int len)
void close()
void flush()

子类OutputStreamWriter常用的构造方法

OutputStreamWriter(OutputStream out)
OutputStreamWriter(OutputStream out,String charsetName)

8.FileWriter类

FileWriter类是OutputStreamWriter的子类

FileWriter (File file)
FileWriter (String name)
该类只能按照本地平台的字符编码来写数据,用户不能指定其他的字符编码类型

9.使用FileWriter写文件

与字节流FileOutputStream类实现向文本文件写入数据步骤类似

  • 1.引入相关的类
import java.io.Reader;
import java.io.FileWriter;
Import java.io.IOException;
  • 2.创建FileReader对象
    Writer fw= new FileWriter("D:\\myDoc\\简介.txt");

  • 3.写文本文件
    fw.write();

  • 4.关闭相关的流对象
    fw.close();

10.BufferedWriter类

如何提高字符流写文本文件的效率?

  • 使用FileWriter类与BufferedWriter类
    BufferedWriter类是Writer类的子类
    BufferedWriter类带有缓冲区

  • BufferedWriter常用的构造方法
    BufferedWriter(Writer out)

11.使用 BufferedWriter写文件

在这里插入图片描述

12.读写二进制文件

DataInputStream类

FileInputStream的子类
与FileInputStream类结合使用读取二进制文件

DataOutputStream类

FileOutputStream的子类
与FileOutputStream类结合使用写二进制文件

13.使用 DataInputStream 读二进制文件

在这里插入图片描述
与字节流FileInputStream类实现文本文件读取步骤极其相似

14.使用 DataOutputStream写二进制文件

在这里插入图片描述
与字节流FileOutputStream类实现文本文件读取步骤极其相似

15.序列化和反序列化

序列化和反序列化的过程
在这里插入图片描述
序列化是将对象的状态写入到特定的流中的过程
反序列化则是从特定的流中获取数据重新构建对象的过程

16.实现序列化

在这里插入图片描述
使用集合保存对象,可以将集合中的所有对象序列化

17.实现反序列化

在这里插入图片描述
如果向文件中使用序列化机制写入多个对象,那么反序列化恢复对象时,必须按照写入的顺序读取

http://www.dtcms.com/a/291064.html

相关文章:

  • 前缀和题目:元素和小于等于阈值的正方形的最大边长
  • PostgreSQL高可用架构Repmgr部署流程
  • 按需搭建web网站
  • 【2025】Vscode Python venv虚拟环境显示“激活终端”成功但是在终端中“并没有激活成功”,pip安装还是会安装到全局环境中的解决方法;
  • CataPro本地安装教程--No GPU--cpu only模式--网络资料整理
  • Android Navigation 组件:简化应用导航的利器
  • [硬件电路-67]:模拟器件 - 高输入阻抗、低输出阻抗本质:最小化能量的汲取,最大化能量传递
  • Dynamics 365 Contact Center是什么
  • NX636NX644美光固态闪存NX663NX665
  • MySQL笔记4
  • 行业实例-国产中望3D曲面建模如何实现电脑精准+协同设计
  • AI绘画生成东汉末年黄忠全身像提示词
  • 第二阶段-第二章—8天Python从入门到精通【itheima】-134节(SQL——DQL——分组聚合)
  • ansible批量部署zabbix客户端
  • 2024年ASOC SCI2区TOP,基于Jaya算法的粒子滤波器用于非线性模型贝叶斯更新,深度解析+性能实测
  • (十九)深入了解 AVFoundation-编辑:使用 AVMutableVideoComposition 实现视频加水印与图层合成(上)——理论篇
  • 【每日算法】专题四_前缀和
  • 算法-比较排序
  • Redis入门教程(一):基本数据类型
  • ppp实验
  • BEVformer个人理解与解读
  • 2025暑期—02卷积与滤波-边缘检测
  • 180页PPT烟草集团物流数字化架构设计咨询指南
  • 牛客网题解 | 单词识别
  • 宝塔访问lnmp项目,跳转不到项目根目录问题解决
  • Spring关于依赖注入的几种方式和Spring配置文件的标签
  • 大模型后训练——SFT实践
  • (SAM)Segment Anything论文精读(逐段解析)
  • 磁悬浮轴承振动的智能克星:自适应陷波器设计与DSP实现全解析
  • 有关Spring的总结