JavaSE(十八)——IO流之字符流
文章目录
- 1. 概述
- 2. OutputStreamWriter
- 3. InputStreamReader
- 4. 字符流复制文本文件
- 5. FileWriter、FileReader
- 6. 高效的字符流
- 7. 案例演示
1. 概述
- 字符流只能读写文本文件
Reader :字符输入流的父类 InputStreamReader 是字节流通向字符流的桥梁
Writer :字符输出流的父类 OutputStreamWriter 是字符流通向字节流的桥梁 - 字符流出现的原因:由于字节流操作中文不是特别方便,所以java就提供了字符流。
- 编码: 就是把字符串转换成字节数组 =>字符流 = 字节流 + 编码表
2. OutputStreamWriter
字符流写数据的方式
public void write(int c) 写一个字符
public void write(char[] cbuf) 写一个字符数组
public void write(char[] cbuf,int off,int len) 写一个字符数组的一部分
public void write(String str) 写一个字符串
public void write(String str,int off,int len) 写一个字符串的一部分案例代码
运行结果
OutputStreamWriter的构造方法
OutputStreamWriter(OutputStream out):根据默认编码(GBK)把字节流的数据转换为字符流
OutputStreamWriter(OutputStream out,String charsetName):根据指定编码把字节流数据转换为字符流
3. InputStreamReader
字符流读数据的方式
public int read() 一次读取一个字符
public int read(char[] cbuf) 一次读取一个字符数组 如果没有读到 返回-1InputStreamReader的构造方法
InputStreamReader(InputStream is):用默认的编码(GBK)读取数据
InputStreamReader(InputStream is,String charsetName):用指定的编码读取数据案例代码
运行结果
4. 字符流复制文本文件
- 一次读取一个字符,写入一个字符来复制文本文件
- 案例代码
- 运行结果
- 一次读取一个字符数组,写入一个字符数组来复制文本文件
- 案例代码
- 运行结果
5. FileWriter、FileReader
- 父类-------------------------------子类
OutputStreamWriter-----------FileWriter
InputStreamReader----------- FileReader
FileReader(File file)
在给定从中读取数据的 File 的情况下创建一个新 FileReader
FileReader(String fileName)
在给定从中读取数据的文件名的情况下创建一个新 FileReader - 案例代码
- 运行结果
6. 高效的字符流
BufferedReader 、 BufferedWriter
BufferedReader(Reader in)
创建一个使用默认大小输入缓冲区的缓冲字符输入流
BufferedWriter(Writer out)
创建一个使用默认大小输出缓冲区的缓冲字符输出流案例代码
运行结果
高效的字符流里面有自己特有的方法比较好用
BufferedReader readLine() 一次读取一行内容
BufferedWriter newLine() 写入换行符,具有平台兼容性
write(line) 一次写入一行内容代码案例
7. 案例演示
- 需求:把ArrayList集合中的字符串数据存储到文本文件
- 案例代码
- 运行结果
JavaSE(十八)——IO流之字符流相关推荐
- 01-21 IO流(字符流与字节流)
IO流(字符流与字节流) 今日内容介绍 标准输入流 & 转换流 & 打印流 对象操作流 Properties集合 第1章标准输入流 & 转换流 & 打印流 ...
- java之高级的IO流,字符流与字节流
IO流 今日内容介绍 标准输入流 & 转换流 & 打印流 对象操作流 Properties集合 第1章标准输入流 & 转换流 & 打印流 1.1标准输入输出 ...
- java基础学习_IO流03_字符流、IO流小结、案例_day21总结
java基础学习_IO流03_字符流.IO流小结.案例_day21总结 ================================================================ ...
- Java18-day09【字节缓冲流、字符流、编码表、字符串与字符流中的编码解码问题、字符流读写数据的方式、字符缓冲流、IO流小结】
视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java ...
- java io流(字符流) 文件打开、读取文件、关闭文件
java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*;public class Index{public stati ...
- IO流 (三) ----- 字符流和字符缓冲流
相关文章: <IO流 (一) ----- 基本概念和File类> <IO流 (二) ----- 文件流> <IO流 (三) ----- 字符流和字符缓冲流> < ...
- IO流的字符流+对象流+打印流+内存流+随机访问流(2)
IO流的字符流+对象流+打印流+内存流+随机访问流(2) 一.字符流 1.利用字符输出转换流 向文件写入数据 1.文件存在的情况 2.文件不存在的情况 经验:所有的输出流,当文件不存在时都会创建文件 ...
- IO流之字符流+便捷字符流+高效字符流
一.字符流 1.字符流出现的原因 字符流出现的原因:由于字节流操作中文不是特别方便,常常需要根据编码方式选择每次读取的字节数,所以,java就提供了字符流.字符流:字节流 + 编码方式.字符流只能操作 ...
- Java基础IO流之字符流的使用
☆引言☆ 大家好,我是痛而不言笑而不语的浅伤.IO流分为字节流和字符流,而上一篇文章我们学习了字节流(Java基础IO流之字符流的使用),这篇文章带大家一起来学习字符流吧.对文章中描述错误的希望大家积 ...
最新文章
- 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)
- [css] 请使用css写一个多级的下拉菜单
- PostgreSQL创建数据库报错
- java ocsp请求_java – 客户端证书上的OCSP吊销
- homebrew php70,OSX下安装PHP7教程详解
- 计算机入门建模观后感,实习生revit学习心得-初学Revit有感
- dm9000数据速率_STM32F103战舰DM9000的LWIP例程TCP速度慢,发送间隔太长
- 深度学习算法优化系列十 | 二值神经网络(Binary Neural Network,BNN)
- 用户计算机脱域了如何处理,AD域计算机经常脱域
- 俄罗斯方块的简单实现
- LinkIn基于Dynamo设计的系统:伏地魔(voldemort)设计中文文档
- 关于mac苹果电脑装win10系统发热严重的解决方法
- 山东大学 英文版《软件工程》教学内容回顾
- 浏阳计算机学习,浏阳十五岁孩子中等职业技术学校学计算机网络
- boost any 操作
- 停车系统源码-基于springboot+uniapp前后端完全开源的多终端智慧停车场系统源码
- 淘宝API接口分类!!!
- 深度解析IC产品的质量与可靠性测试方法
- adc量化单位_复习要点8:采样与量化、ADC0809、DAC0832
- 飞利浦商显再加码,将引来新一轮的市场热潮?
热门文章
- 关闭软盘_乔布斯签名软盘驱动器即将开拍 成交价预计达7500美元
- 点击延迟_300ms 延迟是什么,如何解决
- keil obj 文件 结构_keil下的STM32程序开发部署(一)
- 特征级融合_更丰富的卷积特征用于目标边缘检测(文末附有论文及源码下载)...
- php一句话图片木马过滤_php一句话图片木马怎么解析
- Maven 命令格式及一些常用命令
- centos 6.5升级openssl
- 在CDS(Core Data Services)中使用DCL(Data Control Language)
- UAC 实现原理及绕过方法
- Swoole源代码学习记录(十五)——Timer模块分析