PrintWriter向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。
与PrintStream的区别:作为处理流使用时,PrintStream只能封装OutputStream类型的字节流,而PrintWriter既可以封装OutputStream类型的字节流,还能够封装Writer类型的字符输出流并增强其功能。
private static void testPrintWriter() throws IOException {
char[] arr = {'a', 'b', 'c', 'd', 'e'};
// 创建文件对象
File file = new File("d:" + File.separator + "text.txt");
// 创建文件对应FileOutputStream
PrintWriter out = new PrintWriter(
new FileOutputStream(file));
// 将“字节数组arr”全部写入到输出流中
out.write(arr);
// 关闭输出流
out.close();
}
private static void testPrintWriter2() throws IOException {
char[] arr = {'s', 'd', 'f', 'h', 'j'};
// 创建文件对象
File file = new File("d:" + File.separator + "text.txt");
// 创建文件对应FileOutputStream
PrintWriter out = new PrintWriter(file);
out.write(arr);
out.close();
}
private static void testPrintWriter3() throws IOException {
File file = new File("d:" + File.separator + "text.txt");
PrintWriter w = new PrintWriter(new FileWriter(file));
byte byteV = 125;
w.println(byteV);
short shortV = 125;
w.println(shortV);
int intV = 125;
w.println(intV);
long longV = 125L;
w.println(longV);
float floatV = 125.5F;
w.println(floatV);
double doubleV = 125.5;
w.println(doubleV);
String msg = "hello world";
w.println(msg);
w.close();
}