作用:打印流可以实现方便、高效的打印数据到文件中去。
打印流的优势?
两者在打印功能上都是使用方便,性能高效
printStream (继承字节输出流Outputstream ,支持写字节)
构造器
public PrintStream(OutputStream os) 打印流直接通向字节输出流管道
public PrintStream(File f) 打印流直接通向文件对象
public PrintStream(String filepath) 打印流直接通向文件路径
方法
public void print(Xxx xx) 打印任意类型的数据出去
可以实现打印什么数据就是什么数
package 打印流;
import java.io.FileOutputStream;
import java.io.PrintStream;
public class Test {
public static void main(String[] args) throws Exception {
//PrintStream ps1=new PrintStream("src/aaa.txt","UTF-8");//可以直接通向文件,还可以指定编码但是想要是追加管道还是需要送到原始管道加True
PrintStream ps=new PrintStream(new FileOutputStream("src/aaa.txt",true)); //追加管道
ps.println("a");
ps.println("我是字节打印流我打什么就是什么");
ps.println(true);
ps.close();
}
}
两者打印的功能是一样的使用方式
PrintWriter(继承字符输出流Writer,支持写字符)
构造器
public PrintWriter(OutputStream os) 通向字节输出流管道
public Printwriter(Writer w) 通向字符输出流管道
public PrintWriter (File f) 打印流直接通向文件路径
Public PrintWriter(String filepath) 通向文件路径
方法
public void print(Xxx xx ) 打印任意类型的数据出去
package 打印流;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
public class Test2 {
public static void main(String[] args) throws Exception {
PrintWriter pw=new PrintWriter(new FileOutputStream("src/bbb.txt",true));
pw.print("我是字符打印流");
pw.println(true);
pw.println(1);
pw.write("a");
System.out.println("打印成功");
pw.close();
}
}
输出语句重定向
System.setOut(ps); //更改系统打印位置
package 打印流;
import java.io.PrintStream;
public class Test4 {
//输出语句重定向
public static void main(String[] args)throws Exception {
System.out.println("打印到控制台");
System.out.println("1");
PrintStream ps=new PrintStream("src/aaa.txt");//自定义打印流
System.setOut(ps); //更改系统打印位置
System.out.println("输出语句重定向");
System.out.println("我向文件中打内容");
ps.close();
}
}