当前位置:网站首页>4.字符流
4.字符流
2022-08-09 09:23:00 【过来我的小熊】
字符流
- 字符流的父类(抽象类):
- Reader::字符输入流 int read()
- Writer:字符输出流 void write()
- 文件字符流 (FileReader/FileWriter)
- int read(char[] c) 从流中读取多个字符,将读到内容存入c数组,返回实际读到的字符数,如果达到文件的尾部,则返回-1
- void write(String str) 一次写多个字符,将b数组中所有字符,写入输出流
- 字符缓存流 (BufferedReader/BufferedWriter)
- 高效读写
- 支持输入换行符 newLine()
- 可一次写一行,读一行
- 打印流 (PrintWriter/PrintStream)
- 封装了print() / println() 方法,支持写入后换行
- 支持数据原样打印
文件字符流
FileReader
package com.io.zifu;
import java.io.FileReader;
import java.io.IOException;
/**
* 字符流的使用
* FileReader
*/
public class Demo1 {
public static void main(String[] args) throws IOException {
// 创建FileReader对象
FileReader fr = new FileReader("E:\\桌面\\aaa.txt");
// 读取文件
// 第一种读取
// int data=0;
// while ((data=fr.read())!=-1){
// System.out.print((char)data);
// }
// 第二种读取
char[] buf = new char[1024];
int count = 0;
while ((count=fr.read(buf))!=-1){
System.out.println(new String(buf,0,count));
}
// 关闭
fr.close();
}
}
FileWriter
package com.io.zifu;
import java.io.FileWriter;
import java.io.IOException;
/**
* 字符流的使用
* FileWriter
*/
public class Demo2 {
public static void main(String[] args) throws IOException {
// 创建FileWriter对象
FileWriter fw = new FileWriter("E:\\桌面\\aaa.txt",true); //true 为追加模式
// 写入
fw.write("Java是世界上最好的语言");
// 关闭
fw.close();
System.out.println("执行完毕");
}
}
FileReader与FileWriter实现复制文件,不能复制图片与二进制文件4
使用字节流可以复制任意文件
package com.io.zifu;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 使用FileReader和FileWriter复制文件,不能复制图片与二进制文件
*/
public class Demo3 {
public static void main(String[] args) throws IOException {
// 创建对象
FileReader fr = new FileReader("E:\\桌面\\aaa.txt");
FileWriter fw = new FileWriter("E:\\桌面\\bbb.txt");
int data=0;
while ((data=fr.read())!=-1){
fw.write((char)data);
}
// 关闭
fr.close();
fw.close();
System.out.println("执行完毕");
}
}
字符缓冲流
BufferedReader
package com.io.zifu;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
/**
* 使用字符缓存流来读取文件
* BufferedReader
*/
public class Demo4 {
public static void main(String[] args) throws IOException {
// 创建BufferedReader对象
FileReader fr = new FileReader("E:\\桌面\\aaa.txt");
BufferedReader br = new BufferedReader(fr);
//读取
// 第一种方式读取
// char[] buf = new char[1024];
// int count = 0;
// while ((count=br.read(buf))!=-1){
// System.out.println(new String(buf,0,count));
// }
// 第二种方式读取,一行一行的读取 readLine()
String line = null;
while ((line=br.readLine())!=null){
System.out.println(line);
}
// 关闭
br.close();
}
}
BufferedWriter
package com.io.zifu;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
* 字符缓冲流
* BufferedWriter
*/
public class Demo5 {
public static void main(String[] args) throws IOException {
// 创建BufferedWriter对象
FileWriter fw = new FileWriter("E:\\桌面\\aaa.txt",true);
BufferedWriter bw = new BufferedWriter(fw);
// 写入
bw.newLine(); // 换行
bw.write("加油明天");
// 关闭
bw.close();
System.out.println("执行完毕");
}
}
打印流
PrintWriter
package com.io.zifu;
import java.io.IOException;
import java.io.PrintWriter;
/**
* 打印流
* PrintWriter
*/
public class Demo6 {
public static void main(String[] args) throws IOException {
// 创建对象
PrintWriter pw = new PrintWriter("E:\\桌面\\aaa.txt");
// 打印
pw.println("加油明天");
pw.println(3.14);
pw.println('h');
// 关闭
pw.close();
System.out.println("执行完毕");
}
}
边栏推荐
- 全球19级谷歌卫星地图免费查看下载
- 接口测试主要测试哪方面?需要哪些技能?要怎么学习?
- 性能测试包括哪些方面?分类及测试方法有哪些?
- 使用Protege4和CO-ODE工具构建OWL本体的实用指南-1.3版本(7.4 Annotation Properties-注释属性)
- MySQL transaction isolation
- WAVE SUMMIT 2022深度学习开发者峰会
- 学习栈的心得和总结(数组实现)
- 使用Protege4和CO-ODE工具构建OWL本体的实用指南-1.3版本(4.Building An OWL Ontology)
- "The camera can't be used" + win8.1 + DELL + external camera + USB drive-free solution
- 谷歌地图时代结束,怎么看高清卫星影像地图?
猜你喜欢
Venture DAO Industry Research Report: Macro and Classic Case Analysis, Model Summary, Future Suggestions
on duplicate key update
有返回值的函数
MySQL锁
WAVE SUMMIT 2022深度学习开发者峰会
国产谷歌地球,地形分析秒杀同款地图软件
奥维地图电脑端手机端不能用了,有没有可替代的地图工具
Ovie map computer terminal and mobile terminal can not be used, is there any alternative map tool
测试计划包括哪些内容?目的和意义是什么?
本体开发日记01-Jena配置环境变量
随机推荐
本体开发日记04-努力理解protege的某个方面
软件测试面试思路技巧和方法分享,学到就是赚到
AES/ECB/PKCS5Padding加解密
Another implementation of lateral view explode
AES/ECB/PKCS5Padding encryption and decryption
通用的测试用例编写大全(登录测试/web测试等)
栈的实现之用链表实现
恶意软件查杀工具分享
Ovie map computer terminal and mobile terminal can not be used, is there any alternative map tool
网络安全入门基础:IP地址
RPC服务远程漏洞
自动化测试简历编写应该注意哪方面?有哪些技巧?
MySQL indexes
自动化测试框架有哪几种?搭建的思路是什么?一篇文章让你彻底了解自动化
真·鸡汤文
These 12 GIS software are better than the other
按字节方式和字符方式读取文件_加载配置文件
MySQL transaction isolation
中国打造国产“谷歌地球”清晰度吓人
这12个GIS软件一个比一个好用