Java_基础—打印流的概述和特点

时间:2021-12-25 20:55:27

打印流只操作数据目的
Java_基础—打印流的概述和特点

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();
}

}