PrintStream
- 打印给控制台
- 打印到文件
- 输出到文件——重定向输出端
- 重定向回控制台
package com.io.cx3;
import java.io.BufferedOutputStream;
import java.io.FileDescriptor;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class print {
public static void main(String[] args) throws FileNotFoundException {
PrintStream ps=System.out;
//打印给控制台
ps.println("打印");
ps.println(true);
//打印到文件
ps=new PrintStream(new BufferedOutputStream(new FileOutputStream("dest.txt")),true);
ps.println("打印2");
ps.println(true);
//没true需要手动刷新,ps.flush();
ps.close();
//输出到文件——重定向输出端
System.setOut(ps);
System.out.println("重定向");
//重定向回控制台中_FileDescriptor.out重定向输出端
System.setOut(new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.out)),true));
System.out.println("哦");
}
}
PrintWriter
它是将对象的格式表示打印到文本输出流。
这个类实现所有的print中发现的方法PrintStream。它不包含用于编写原始字节的方法,程序应使用未编码的字节流。
不像PrintStream类,如果启用自动刷新,将只有当一个做println , printf ,或format被调用的方法,而不是当一个换行符恰好是输出。 这些方法使用平台自己的行分隔符而不是换行符。
package com.io.cx3;
import java.io.BufferedOutputStream;
import java.io.FileDescriptor;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
public class print2 {
public static void main(String[] args) throws FileNotFoundException {
PrintWriter pw=new PrintWriter(new BufferedOutputStream(new FileOutputStream("dest.txt")),true);
pw.println("打印2");
pw.println(true);
pw.close();
}
}
本文详细介绍了Java中的PrintStream和PrintWriter类,包括如何使用它们打印到控制台和文件,以及如何重定向输出。对比了两者在自动刷新和字符编码方面的差异。
545

被折叠的 条评论
为什么被折叠?



