打印流的概述和特点

打印流的概述和特点

  • 1.什么是打印流
    • 该流可以很方便的将对象的toString()结果输出,并且自动加上换行,而且可以使用自动刷出的模式。

    • System.out就是一个PrintStream,其默认向控制台输出信息。

        PrintStream ps = System.out;
        ps.println(97);					//其实底层用的是Integer.toString(x),将x转换为数字字符串打印
        ps.println("xxx");
        ps.println(new Person("张三", 23));
        Person p = null;
        ps.println(p);					//如果是null,就返回null,如果不是null,就调用对象的toString()
      
  • 2.使用方式
    • 打印:print(),println()

    • 自动刷出:PrintWriter(OutputStream out, boolean autoFlush, String encoding)

    • 打印流只操作数据目的

        PrintWriter pw = new PrintWriter(new FileOutputStream("g.txt"), true);
        pw.write(97);
        pw.print("大家好");
        pw.println("你好");				//自动刷出,只针对的是println方法
        pw.close();
      
package com.heima.otherio;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;

import com.heima.bean.Person;

public class Demo07_PrintStream {

	/**
	 * @param args
	 * @throws IOException 
	 * PrintStream和PrintWriter分别是打印的字节流和字符流
	 * 只操作数据目的的
	 */
	public static void main(String[] args) throws IOException {
		//demo01();
		PrintWriter pw = new PrintWriter(new FileOutputStream("f.txt"),true);
		//pw.println(97);						//自动刷出功能只针对的是println方法
		//pw.write(97);
		pw.print(97);
		pw.println(97);
		pw.close();
	}

	public static void demo01() {
		System.out.println("aaa");
		PrintStream ps = System.out;			//获取标注输出流
		ps.println(97);							//底层通过Integer.toString()将97转换成字符串并打印
		ps.write(97);							//查找码表,找到对应的a并打印
		
		Person p1 = new Person("张三", 23);
		ps.println(p1);							//默认调用p1的toString方法
		
		Person p2 = null;						//打印引用数据类型,如果是null,就打印null,如果不是null就打印对象的toString方法
		ps.println(p2);
		ps.close();
	}
}
发布了295 篇原创文章 · 获赞 9 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/LeoZuosj/article/details/104115642