当前位置:网站首页>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("执行完毕");
}
}
边栏推荐
猜你喜欢
随机推荐
Max Flow P
使用图新地球无法加载谷歌地球的完美解决方法(附软件下载)
China to create a domestic "Google Earth" clarity scary
Ontology Development Diary 01-Jena Configuration Environment Variables
MySQL Leak Check (4) Stored Procedures and Cursors
Swap swap partition
运行flutter项目时遇到的问题修改flutter为国内镜像
软件测试个人求职简历该怎么写,模板在这里
本体开发日记05-努力理解SWRL(下)
Read file by byte and character_load configuration file
字典
软件测试流程包括哪些内容?测试方法有哪些?
手机APP测试流程规范和方法你知道多少?
运行flutter项目时遇到的问题
Global 19 Google Satellite Map Free View Download
学习栈的心得和总结(数组实现)
一篇文章让你彻底搞懂关于性能测试常见术语的定义
第四讲 SVN
static_assert报错为什么?
Consolidation of Questionnaire Questions and Answers