目录
一、打印流简介
打印流是输出信息最方便的类,注意包含字节打印流:PrintStream和字符打印流:PrintWriter。打印流提供了非常方便的打印功能,可以打印任何类型的数据信息,例如:小数,整数,字符串。
PrintStream和PrintWriter有自动flush 功能。
PrintStream类有下面几个构造方法:PrintStream(OutputStream out)
PrintStream(OutputStream out, boolean auotflush)
PrintStream(OutputStream out, boolean auotflush, String encoding)
PrintWriter类有下面几个构造方法:PrintWriter(OutputStream out)
PrintWriter(OutputStream out, boolean autoflush)
PrintWriter(Writer out)
PrintWriter(Writerout, boolean autoflush)
其中autoflush控制在Java中遇到换行符(\n)时是否自动清空缓冲区,encoding是指定编码方式。
PrintStream和PrintWriter的用法基本一样,区别不大,其作用主要在于增强输出功能。因为其父类都是OutputSteam,所以他们也继承了输出流的write、close、flush等方法。
二、代码展示
1. 字节打印流
public static void printstream() throws IOException {
PrintStream ps = new PrintStream("ps.txt");
//字节输出流方法写数据
ps.write(97);//写入的是ASCII码对应的字符
//特有方法写数据
ps.print(97);//括号里是什么写的就是什么,不会转码
ps.print("你好");
ps.println(97);//实现换行
ps.println(98);
ps.close();
}
2. 字符打印流
private static void printwriter() throws IOException {
//Printwriter (String fileName)
PrintWriter pw = new PrintWriter("ps.txt");
//使用write方法时同上
pw.println("嘿嘿");
pw.write("97");
pw.close();
}
三、小结
通过程序可以发现 PrintStream和PrintWriter的使用方法基本一致,没有什么区别,并且都是向文件中写入数据,唯一不同点就是继承的write方法,字节流输入数字是会转码为ASCII对应的字符,而字符流则不会,并且print方法无论是在 PrintStream还是PrintWriter中都是输入什么就写入什么,不会存在write方法中出现的转码问题。