1. 打印流
(1)分类:
• 字节打印流 PrintStream
• 字符打印流 PrintWriter
(2)打印流的特点:
• 只能写数据,不能读数据
• 只能操作目的地,不能操作数据源
• 可以操作任意类型的数据
• 如果启动了自动刷新,能够自动刷新
• 可以直接操作文本文件的
(3)附件的问题:哪些对象可以直接操作文本文件的呢?
• FileInputStream
• FileOutputStream
• FileReader
• FileWriter
• PrintStream
• PrintWriter
2. 打印流之 PrintWriter(字符打印流):
(1)PrintWriter基本使用:
package cn.itcast_03; import java.io.IOException;
import java.io.PrintWriter; public class PrintWriterDemo {
public static void main(String[] args) throws IOException {
// 作为Writer的子类使用
PrintWriter pw = new PrintWriter("pw.txt"); pw.write("hello");
pw.write("world");
pw.write("java"); pw.close();
}
}
运行效果如下:
(2)PrintWriter操作任意类型的数据:
代码如下:
package cn.itcast_03; import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter; /*
* 1:可以操作任意类型的数据。
* print()
* println()
* 2:启动自动刷新
* PrintWriter pw = new PrintWriter(new FileWriter("pw2.txt"), true);
* 还是应该调用println()的方法才可以
* 这个时候不仅仅自动刷新了,还实现了数据的换行。
*
* println()
* 其实等价于:
* bw.write();
* bw.newLine();
* bw.flush();
*/
public class PrintWriterDemo2 {
public static void main(String[] args) throws IOException {
// 创建打印流对象
// PrintWriter pw = new PrintWriter("pw2.txt");
PrintWriter pw = new PrintWriter(new FileWriter("pw2.txt"), true); // write()是搞不定的,怎么办呢?
// 我们就应该看看它的新方法
// pw.print(true);
// pw.print(100);
// pw.print("hello"); pw.println("hello");
pw.println(true);
pw.println(100); pw.close();
}
}
运行效果,如下: