一、BufferedWriter & BufferedReader 的用法
使用标准IO的例子
import java.io.*;
public class TestIO {
public static void main(String[] args) throws IOException {
// 输入输出流,这里用标准输入输出流举例,也可以是文件流,网络流等。
InputStream inputStream = System.in;
OutputStream outputStream = System.out;
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(outputStream));
String str = in.readLine(); // 读入字符串
str = str.toUpperCase(); // 转大写
out.write(str); // 写入缓冲流
out.newLine(); // 换行
out.flush(); // 刷新缓冲区,完成输出
out.close();
in.close();
}
}
运行结果
二、PrintWriter 用法
建议用 PrintWriter 代替 BufferedWriter,因为 PrintWriter 同时支持字符流和字节流操作,而 BufferedWriter 只支持字符流操作,而且PrintWriter的print、println方法可以接受任意类型的参数,而BufferedWriter的write方法只能接受字符、字符数组和字符串。
以下是改用 PrintWriter 和文件流的用法示例
import java.io.*;
public class TestIO {
public static void main(String[] args) throws IOException {
File file = new File("data.txt");
FileOutputStream fileOutputStream = new FileOutputStream(file);
int a = 1, b = 2;
PrintWriter out = new PrintWriter(new OutputStreamWriter(
fileOutputStream, "UTF-8"), true); // UTF-8编码,自动刷新缓冲区
out.println(a + b);
fileOutputStream.close();
}
}
运行结果