java基础之 IO 流(输入/出字符流)
Posted 我想月薪过万
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础之 IO 流(输入/出字符流)相关的知识,希望对你有一定的参考价值。
字符基流
FileReader/FileWriter
代码示例
package IOTest;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
/**
* ClassName: FileReaderDemo <br/>
* Description: <br/>
* date: 2021/8/3 14:52<br/>
*
* @author yiqi<br />
* @since JDK 1.8
*/
public class FileReaderDemo {
public static void main(String[] args) throws Exception {
//创建文件输入流
FileReader fr = new FileReader("src/IOTest/test.txt");
//创建文件输出流
FileWriter fw = new FileWriter("src/IOTest/clone.txt");
//设置文件 一次读取 长度 是 char[] 不是 byte[]
char[] buffer = new char[1024];
//读取数据
while (true){
int len = fr.read(buffer);
if (len == -1){
break;
}
fw.write(buffer,0,len);
//刷新缓存 可写可不写
fw.flush();
}
//关闭流
fr.close();
fw.close();
}
}
转换字符流
代码示例
package IOTest;
import java.io.*;
/**
* ClassName: StringReaderStream <br/>
* Description: <br/>
* date: 2021/8/3 22:07<br/>
*
* @author yiqi<br />
* @since JDK 1.8
*/
public class StringReaderStream {
public static void main(String[] args) throws Exception {
//创建输入流 编码格式注意统一 下同
InputStreamReader isr = new InputStreamReader(new FileInputStream("src/IOTest/test.txt"),"utf-8");
//创建输出流
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("src/IOTest/clone.txt"),"utf-8");
//读写数据
//规定一次读取多少
char[] buffer = new char[1024];
while (true){
int len = isr.read(buffer);
if (len == -1){
break;
}
osw.write(buffer,0,len);
osw.flush();
}
//关闭流
isr.close();
osw.close();
}
}
缓冲字符流
代码示例
package IOTest;
import java.io.*;
/**
* ClassName: BufferReaderDemo <br/>
* Description: <br/>
* date: 2021/8/3 22:53<br/>
*
* @author yiqi<br />
* @since JDK 1.8
*/
public class BufferReaderDemo {
public static void main(String[] args) throws Exception {
//创建输入流
BufferedReader br = new BufferedReader(new FileReader("src/IOTest/test.txt"));
//创建输出流
BufferedWriter bw = new BufferedWriter(new FileWriter("src/IOTest/clone.txt"));
//读写操作
while (true){
String str = br.readLine();
if (str == null){
break;
}
//写
bw.write(str);
//换行 不要忘记,要不然全部一行
bw.newLine();
//刷新缓冲区
bw.flush();
}
//关闭流
br.close();
bw.close();
}
}
以上是关于java基础之 IO 流(输入/出字符流)的主要内容,如果未能解决你的问题,请参考以下文章
java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段