文件输入输出处理(三)-字符流
2023-03-31 11:05:09 时间
大佬的理解->《Java IO(四) -- 字符流》
FileReader字符流读取文件,更适合用于读取文件,可以读取中文;
常用字符流类关系图
1、FileReader
1.1 初始化
FileReader(File file) |
---|
FileReader(String fileName) |
1.2 读取文件内容
read() | 按单个字符读取 |
---|---|
read(char cbuf[]) | 按字符数组长度读取 |
案例:按字符数组读取
//test1.txt文件内容:FileWriter测试内容
try(
//初始化字符读取流
FileReader frd = new FileReader("D:/test/test1.txt");
){
//定义一个可变字符串对象
StringBuilder sbd = new StringBuilder();
//定义缓冲字符数组
char[] chars = new char[5];
int hasRead = 0; //读取到的字符长度
while((hasRead = frd.read(chars))>0){
sbd.append(new String(chars,0,hasRead));
System.out.println("每次读取:"+sbd.toString());
}
//输出文件内容
System.out.println("文件全部内容:"+sbd.toString());
System.out.println("文件读取成功!");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
运行结果
每次读取:FileW
每次读取:FileWriter
每次读取:FileWriter测试内容
文件全部内容:FileWriter测试内容
文件读取成功!
2、FileWriter
2.1 初始化
FileReader(String fileName) |
---|
FileReader(File file) |
2.2 写入文件内容
write(String str) |
---|
write(String str, int off, int len) |
write(char cbuf[]) |
write(char cbuf[], int off, int len) |
案例:字符流直接写入字符串
//FileWriter 字符流写文件基本用法,可以直接写字符
try( FileWriter fwr= new FileWriter("D:/test/test2.txt")){
//定义写入文件
String string = "KH96,正在学习字符流写入文件";
//直接写入目标文件
fwr.write(string);
//刷新缓冲区
fwr.flush(); //一定要刷新缓冲区
System.out.println("字符流写入成功!!!");
}catch (Exception e){
e.printStackTrace();
}
运行结果
字符流写入成功!!!
相关文章
- Java实现BP神经网络MNIST手写数字识别
- Java线程池详解
- 大公司为什么禁止SpringBoot项目使用Tomcat?
- 【高并发】AQS中的CountDownLatch、Semaphore与CyclicBarrier用法总结
- 用Java写一个分布式缓存——缓存淘汰算法
- 动态代理jdk的Proxy与spring的CGlib
- virtualBox安装centos,并搭建tomcat
- 两年JAVA程序员的面试总结
- 一个两年java程序猿的2017个人总结
- 【问题解决】Tomcat启动服务时提示Filter初始化或销毁出现java.lang.AbstractMethodError错误
- Maven配置私有仓库
- 【Java复健指南15】链表LinkedList及其说明
- Java类、对象以及(静态)方法的探讨
- Java线程诊断
- OPPO 后端开发 一、二面面经
- 高并发解决方案orleans实践
- Java内存区域有哪些构成?
- Java内存区域(运行时数据区域)和内存模型(JMM)
- 一文搞懂JUC并发编程
- Git和Maven的学习笔记