网站首页 > 精选教程 正文
在程序开发中,有时会遇到字节流和字符流之间需要进行转换的可能。在java.io包中提供了两个类可以将字节流转换为字符流,它们分别是InputStreamReader和OutputStreamWriter。
OutputStreamWriter是Writer的子类,能够将一个字节输出流转换成字符输出流,方便直接写入字符,而InputStreamReader是Reader的子类,能够将一个字节输入流转换成字符输入流,方便直接读取字符。下面通过案例学习如何将字节流转换为字符流,为了提高读/写效率,通过字符缓冲流实现转换的操作,如文件5-9所示。
文件5-9 Example09.java
package com.itheima.example;
import java.io.*;
public class Example09 {
public static void main(String[] args) throws Exception {
//创建字节输入流
FileInputStream input=new FileInputStream("read.txt");
//将字节输入流转换成字符输入流
InputStreamReader streamReader=new InputStreamReader(input);
//赋予字符输入流对象缓冲区
BufferedReader bufferReader=new BufferedReader(streamReader);
//创建字节输出流
FileOutputStream output=new FileOutputStream("dest2.txt")
//将字节输出流转换成字符输出流
OutputStreamWriter streamWriter=new OutputStreamWriter(output);
//赋予字符输出流对象缓冲区
BufferedWriter bufferWriter=new BufferedWriter(streamWriter);
String line=null;
//判断是否读到文件末尾
while ((line=bufferReader.readLine()) !=null) {
bufferWriter.write(line); //输出读取到的文件
}
bufferReader.close();
bufferWriter.close();
}
}
程序运行结束后,按F5键刷新chapter05项目后打开dest2.txt文件,执行结果如图5-5所示。
在文件5-9中,实现了字节流和字符流之间的转换,将字节流转换为字符流,从而实现直接对字符的读/写。需要注意的是,在使用转换流时,只能针对操作文本文件的字节流进行转换,如果字节流操作的是图片或者音频,此时转换为字符流就会造成数据丢失。
猜你喜欢
- 2024-11-03 4.5 Java的字符串操作和方法 java字符串使用教学
- 2024-11-03 一文教你Java字符串处理(String,StringBuffer...
- 2024-11-03 「Java工具类」Jackson工具类,json字符串转各种对象或者集合
- 2024-11-03 java int类型转char类型总结 java将int转换为char
- 2024-11-03 《JAVA编程思想》5分钟速成:第13章(字符串)
- 2024-11-03 Java字符串操作的函数式方法 java中字符串的操作
- 2024-11-03 Java基于代码实战的字符流父类、字符转换流、缓冲字符流、过滤流
- 2024-11-03 7. 反转整数(LeetCode 题解) 反转整数python
- 2024-11-03 JAVA 基本类型之间的转换(新手) java基础类型转换
- 2024-11-03 Java读取制表符文本转换为JSON java读取表格
你 发表评论:
欢迎- 06-30【AI绘永昌】风景篇(二)(永昌图文)
- 06-30AI风景建筑图集(ai景观平面图)
- 06-30AI绘制精美绚丽的景色(ai绘制图案)
- 06-30AI风景,不存在的地方又增加了(ai风景插画作品)
- 06-301 分钟解锁!运用 DS + 即梦 + 豆包,轻松打造个性化风景音乐短视频
- 06-30美景欣赏 #AI绘画#(美景图画)
- 06-30AI动漫风景图集1 ~(ai动漫图片)
- 06-30原图壁纸,ai绘画风景(原图壁纸下载)
- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)