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

新数据结构(13)——I/O

字符流

字符输入流(Reader)

字符输入流用于从数据源(如文件、字符串等)读取字符数据。Reader 是所有字符输入流的抽象基类。

常用实现类

FileReader 用于从文件中读取字符数据。

InputStreamReader 将字节流转换为字符流,可以指定字符编码。

BufferedReader 提供缓冲功能,提高读取效率,支持按行读取。

读取input.txt里的字符:

写入的五种方式:

字节流

字节输入流(InputStream)

InputStream 是所有字节输入流的抽象基类,它定义了读取字节数据的基本方法。常见的字节输入流子类有 FileInputStream、ByteArrayInputStream 等。

常用方法

  • int read():从输入流中读取一个字节的数据,返回值为读取的字节(范围是 0 - 255),如果到达流的末尾则返回 -1。
  • int read(byte[] b):从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中,返回实际读取的字节数,如果到达流的末尾则返回 -1。
  • int read(byte[] b, int off, int len):从输入流中读取最多 len 个字节的数据,并将其存储在数组 b 中,从偏移量 off 开始存储,返回实际读取的字节数,如果到达流的末尾则返回 -1。
  • void close():关闭此输入流并释放与之关联的所有系统资源。

用字节流实现复制:

package Test20250220_IO; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.FileOutputStream; import java.io.IOException; public class ByteStreamCopyExample { public static void main(String[] args) { // TODO Auto-generated method stub try { FileInputStream fis = new FileInputStream("C:\\Users\\ZhuanZ\\workspace\\newDataStructure\\src\\Test20250220_IO\\input.txt"); InputStreamReader isr = new InputStreamReader(fis,"UTF-8"); // 读取单个字节 int dataI; String dataO =""; while((dataI=isr.read())!=-1){ dataO+=((char)dataI)+""; } FileOutputStream fos= new FileOutputStream("C:\\Users\\ZhuanZ\\workspace\\newDataStructure\\src\\Test20250220_IO\\output.txt"); byte[] bytes = dataO.getBytes(); // 写入字节数组 fos.write(bytes); } catch(IOException e){ e.printStackTrace(); } } }

相关文章:

  • Linux离线环境安装miniconda并导入依赖包
  • 1.✨学习系统浅探
  • 网络安全风险评估
  • 本地VSCode远程连wsl2中的C++环境的开发配置指南
  • springBoot统一响应类型2.0版本
  • OpenHarmony-4.基于dayu800 GPIO 实践(2)
  • 5.6 Mybatis代码生成器Mybatis Generator (MBG)实战详解
  • Bootstrap5 网格系统
  • 并发 -- 无锁算法与结构
  • 网站快速收录:如何优化网站音频内容?
  • Redis 集群的三种模式:一主一从、一主多从和多主多从
  • 计算机领域里注重实战的9本书
  • 跟着AI学vue第九章
  • R语言Stan贝叶斯空间条件自回归CAR模型分析死亡率多维度数据可视化
  • Java中的@JSONField注解详解:用法、场景与实践
  • Docker 与 Nginx:容器化 Web 服务器
  • OpenCV4.8 开发实战系列专栏之 34 - 图像锐化
  • golang性能分析之pprof
  • 2025年信息科学与工程学院科协机器学习介绍——conda环境配置
  • TypeScript 类型断言的适用场景及代码示例
  • wordpress国内访问/廊坊关键词优化平台
  • 国外做鞋子的网站/指数分布的期望和方差
  • 孟村县做网站/昆明自动seo
  • web技术网站开发/武汉seo公司
  • 翼讯自助网站/获客软件排名前十名
  • 永州商城网站建设/制作一个网站的费用是多少