IO_File类使用:数据流

DataInputStream   数据输入流
允许应用程序从底层输入流中读取基本Java数据类型,对于多线程访问不一定是安全的。

DataOutputStream  数据输出流
允许应用程序将基本Java数据类型写入输出流中。

package com.file;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class DataStreamDemo {

    public static void main(String[] args) {
        write();
        read();
    }
    
    public static void write() {
        File file = new File("E:\\Java_IO\\data.dat");
        try {
            OutputStream out = new FileOutputStream(file);
            BufferedOutputStream bos = new BufferedOutputStream(out);
            DataOutputStream dos = new DataOutputStream(bos);
            dos.writeInt(10);   //写一个整型占4个字节
            dos.writeByte(1);   //写一个字节占1个字节
            dos.writeUTF("中");
            dos.close();
            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
    
    public static void read() {
        File file = new File("E:\\Java_IO\\data.dat");
        try {
            InputStream in = new FileInputStream(file);
            BufferedInputStream bis = new BufferedInputStream(in);
            DataInputStream dis = new DataInputStream(bis);
            int num = dis.readInt();   //读取时要按照写入的类型的顺序读取;否则读取出来的值就变了
            byte b = dis.readByte();
            String s = dis.readUTF();
            dis.close();
            System.out.println(num+","+b+","+s);
            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }

}

你可能感兴趣的:(IO_File类使用:数据流)