打印流
打印流属于输出流,是java中用来输出数据的流类,分为PrintStream和PrintWriter,分别继承自OutputStream和OutputWriter
打印流使用更加高效
以下为一个打印流实例
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
public class PrintDemo {
public static void main(String[] args) {
File file=new File("f:\\001\\00.txt");
PrintStream pr=null;
try{
pr=new PrintStream(new FileOutputStream(file));
}catch(IOException e){
System.out.println("打印流出现异常");
}
pr.println("hello");
pr.print(123);
pr.println("yes");
pr.close();
}
}
以上实例传入的是FileOutputStream对象,使用File对象也可以,如下所示:
PrintStream类的常用方法
1、public PrintStream(File file) throws FileNotFoundException 构造方法 通过一个File对象实例化PrintStream类
2、public PrintStream(OutputStream out) 构造方法 接收OutputStream对象,实例化PrintStream类
3、public PrintStream printf(Locale l, String format, Object …arg) 普通方法 根据指定的Locale进行格式化输出
4、public PrintStream printf(String format,Object … arg) 普通方法 根据本地环境进行格式化输出
System.out.println()是系统类的打印方法,直接打印在控制台上,System.out其实就是PrintStream的一个对象,用来方便平时控制台打印。
System.out.println()是系统类控制了流向在控制台上,可以使用重定向定位到其他位置,使用打印流
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
public class PrintDemo2 {
public static void main(String[] args) {
File file=new File("f:\\001\\00.txt");
PrintStream pr=null;
try{
pr=new PrintStream(new FileOutputStream(file));
//重定向,将流向从控制台定位到pr对象
System.setOut(pr);
//可以使用System.out.println()方法打印到指定对象
System.out.println("这次ok");
}catch(IOException e){
System.out.println("打印流出现异常");
}
}
}
使用System.setOut(PrintStream obj)方法重定向到了PrintStream的对象,此时System.out.println()方法打印流向就是该对象
追加写入
以上写入都会刷新之前的数据,若想追加写入,可以使用OutputStream的构造方法创建追加写对象
如下所示:
pr=new PrintStream(new FileOutputStream(file,true));