Java PrintStream和PrintWriter打印流的用法(附带实例)
在 java.io 包中,OutputStream 是执行输出操作的核心控制类。但是,利用 OutputStream 类存在的问题是,所有的输出数据必须以字节类型为主。
为了解决这个矛盾,java.io 包中专门提供了 PrintStream 类和 PrintWriter 类,以方便用户打印任何数据类型。例如,System.out 和 System.err 都是 java.io.PrintStream 类的实例。
PrintStream 类常用的构造方法如下。
【实例】使用 PrintStream 类向文件中写入信息。
PrintWriter 类常用的构造方法如下:
【实例】使用 FileWriter 类向某个文件中写入信息。
为了解决这个矛盾,java.io 包中专门提供了 PrintStream 类和 PrintWriter 类,以方便用户打印任何数据类型。例如,System.out 和 System.err 都是 java.io.PrintStream 类的实例。
Java PrintStream类
PrintStream 类不限于控制台打印。PrintStream 是一个处理流,可以连接到任何其他流上。PrintStream 类常用的构造方法如下。
- PrintStream(OutputStream out):使用 OutputStream 类的对象,创建一个不会自动刷新的 PrintStream 对象。
- PrintStream(OutputStream out,boolean autoFlush):创建一个 PrintStream 对象,指定是否自动刷新,若 autoFlush 的值为 true,则自动刷新。
【实例】使用 PrintStream 类向文件中写入信息。
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; public class Example { public static void main(String[] args) { // 声明一个打印流对象 PrintStream out = null; try { // 在文件输出流的上层创建打印流对象 out = new PrintStream(new FileOutputStream("D:\\4.txt")); // 打印输出 int 型数值 out.println(88); // 打印输出字符串 out.println("你好 Java! "); // 打印输出布尔类型数值 out.println(true); // 将指定的字符附加到此输出流上 out.append('H'); out.append('E'); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { out.flush(); out.close(); } } }运行结果后,打开 D:\4.txt 文件可以看到:
88
你好 Java!
true
HE
Java PrintWriter类
PrintWriter 类把 Java 的内构类型以字符形式传送到相应的输出流中,可以文本的形式浏览。PrintWriter 类常用的构造方法如下:
- PrintWriter(Writer out):使用 Writer 类的对象创建一个 PrintWriter 对象。
- PrintWriter(OutputStream out):使用 OutputStream 类的对象创建一个 PrintWriter 对象。
【实例】使用 FileWriter 类向某个文件中写入信息。
import java.io.FileWriter; import java.io.PrintWriter; public class Example { public static void main(String[] args) { try { FileWriter filewriter = new FileWriter("D:\\5.txt"); // 创建自动刷新的 PrintWriter 对象 PrintWriter print = new PrintWriter(filewriter, true); // 在文件中写入字符串内容 print.println("hello world! "); print.close(); } catch (Exception e) { e.printStackTrace(); } } }运行程序,它会将字符串 "hello world!" 写入到 D:\5.txt 文件中。