java基础之io流总结四:字符流读写
2024-09-23 00:42:55
字符流读写只适用于字符文件。
基本字符流(转换流)读写文件
转换流本身是字符流,但是实例化的时候传进去的是一个字节流,所以叫做转换流
InputStreamReader isr = new InputStreamReader(new FileInputStream(inputPath), "GB2312");
OutputStreamWriter osr = new OutputStreamWriter(new FileOutputStream(outPutPath), "GB2312");
// 可以直接写入字符串/字符/字符数组等
osr.write("xxxxx\r\n"); // 单个字符读写
int c;
while ((c = isr.read()) != -) {
osr.write(c);
} // 字符数组读写
char[] chs = new char[];
int len;
while ((len = isr.read(chs)) != -) {
osr.write(chs, , len);
} osr.close();
isr.close();
简化版字符流(常用)读写文件
FileReader fr = new FileReader(inPutPath);
FileWriter fw = new FileWriter(outPutPath); // 一次读写一个字符
int ch;
while ((ch = fr.read()) != -1) {
fw.write(ch);
}
// 一次读写一个字符数组
char[] chs = new char[1024];
int len;
while ((len = fr.read(chs)) != -1) {
fw.write(chs, 0, len);
}
fr.close();
fw.close();
缓冲区字符流读写文件
BufferedReader br = new BufferedReader(new FileReader(inPutPath));
BufferedWriter bw = new BufferedWriter(new FileWriter(outPutPath));
// 一次读写一个字符
int ch;
while ((ch = br.read()) != -1) {
bw.write(ch);
}
// 一次读写一个字符数组
char[] chs = new char[1024];
int len;
while ((len = br.read(chs)) != -1) {
bw.write(chs, 0, len);
bw.newLine();
System.out.print(new String(chs, 0, len));
}
// 一次读写一行数据
String line;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();//刷新数据
}
br.close();
bw.close();
最新文章
- hdu1754 I Hate It
- 如何在CRM系统中集成ActiveReports最终报表设计器
- id 和 instancetype
- 开发一个简单实用的android紧急求助软件
- 控制语句(if-else+循环+switch)汇编规则
- ArrayList常用方法
- 去掉url后面的#
- 2338: [HNOI2011]数矩形 - BZOJ
- Objective-C官方文档翻译 Block
- 微软Build 2017第二天 .NET Standard 2.0 Preview 的客户端跨平台
- 团队作业4——第一次项目冲刺(Alpha版本)4.24
- 七天开发进度(六)(微信小程序版(一))
- postman(六):详解在Pre-request Script中如何执行请求
- 运行supervisorctl reload报错解决方法
- js判断假值
- bitnami redmine配置全过程
- C#.NET常见问题(FAQ)-如何让文本框textbox内容限制为数字
- JavaWeb学习笔记1
- UBUNTU16.04 使用APT-GET如何设置代理
- java 插件安装