打印流只操作数据目的
package com.soar.otherio;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import com.soar.bean.Person;
public class Demo5_PrintStream {
/*
*****1.什么是打印流
* 该流可以很方便的将对象的toString()结果输出, 并且自动加上换行, 而且可以使用自动刷出的模式
* System.out就是一个PrintStream, 其默认向控制台输出信息
*****2.使用方式
* 打印: print(), println()
* 自动刷出: PrintWriter(OutputStream out, boolean autoFlush, String encoding)
* 打印流只操作数据目的
*
* PrintStream和PrintWriter分别是打印的字节流和字符流
* 只操作数据目的的
*/
public static void main(String[] args) throws IOException {
//print();
PrintWriter pw = new PrintWriter(new FileOutputStream("f.txt"), true);
pw.println(97); //在f.txt中 打印出97 //自动刷出功能只针对的是println()方法
//pw.print(97);
//pw.write(97); //在f.txt中 打印出a
//pw.close(); //close()方法有自动刷出的功能
}
private static void print() {
System.out.println("aaa"); //aaa
PrintStream ps = System.out; //获取标准输出流
ps.println(97); //97 底层通过Integer.toString()将97转换为了字符串,并打印
ps.write(97); //a 查找码表,找到对应的a并打印
System.out.println();
Person p1 = new Person("张三",23);
ps.println(p1); //Person [name=张三, age=23] 调用toString()方法
Person p2 = null; //打印引用数据类型,如果是null就打印null,如果不是null,就打印对象的toString方法
ps.println(p2); //null
ps.close();
}
}