一、打印流

1.在整个IO包中,打印流是输出信息最方便的类。

2.PrintStream(字节打印流)和PrintWriter(字符打印流)提供了一系列重载的print和println方法,用于多种数据类型的输出。

  ①PrintStream和PrintWriter的输出不会抛出异常。

  ②PrintStream和PrintWriter有自动fluse功能。

  ③System.out返回的是PrintStream的实例。

二、数据流

1.为了方便的操作Java语言的基本数据类型的数据,可以使用数据流。

2.数据流有两个类:(用于读取和写出基本数据类型)

  ①DataInputStream 和DataOutputStream

package day18;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/*
 * 数据流,专门用来做基本数据类型的读写
 */
public class Test4 {
    public static void main(String[] args){
        try {
//            Test4.testDataOutputStream();
            Test4.testDataInputStream();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    /**
     * 数据输出流
     * 用数据输出流写到文件中的基本数据类型的数据是乱码,不能直接辨认,需要数据的输入流来读取
     * */
    public static void testDataOutputStream() throws Exception{
        DataOutputStream out = new DataOutputStream(new FileOutputStream("F:\\testdemo\\demo\\src\\day18\\tt8.txt"));
        
        out.writeBoolean(true);
        
        out.flush();
        out.close();
    }
    
    /**
     * 数据的输入流
     * 用数据输出流写到文件中的基本数据类型的数据是乱码,不能直接辨认,需要数据的输入流来读取
     * 用数据的输入流读取数据的输出流写到文件中的数据时,要保证使用和当时写的数据类型一致的类型来读取
     * 即如果写的时候是writeBoolean,读的时候就要是readBoolean
     * */
    public static void testDataInputStream() throws Exception{
        DataInputStream in = new  DataInputStream(new FileInputStream("F:\\testdemo\\demo\\src\\day18\\tt8.txt"));
        
        System.out.println(in.readBoolean());
        
        in.close();
    }
}

打印结果为:true