Java_146_IO_数据流_DataInputStream_DataOutputStream_先写出后读取_读取的顺序与写出的顺序保持一致(包括数据类型)

数据流

package IOStudy;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 数据流
 * DataInputStream
 * DataOutputStream
 * 保留数据,保留数据类型
 * 1.先写出后读取
 * 2.读取的顺序与写出保持一致
 * 
 * @author pmc
 *
 */
public class RWTest4 {
	public static void main(String[] args) throws IOException {
		test01();
		test02();
	}
	//基本数据类型
	private static void test01() throws IOException{
		// 写出
		ByteArrayOutputStream bo = new ByteArrayOutputStream();// 字符数组
		DataOutputStream x = new DataOutputStream(new BufferedOutputStream(bo));// 写出数据流(字节缓冲流(字符数组))
		x.writeUTF("写入测试");
		x.writeInt(20);
		x.writeBoolean(false);
		x.writeChar('a');
		x.flush();
		byte[] datas = bo.toByteArray();// 转byte[] 数组
		System.out.println(datas.length);
		// 读
		DataInputStream d = new DataInputStream(new BufferedInputStream(new ByteArrayInputStream(datas)));// 读取数据流(字节缓冲流(字节数组流))
		// 读取的顺序与写出一致
		String msg = d.readUTF();
		int age = d.readInt();
		boolean flag = d.readBoolean();
		char chr = d.readChar();
		System.out.println(flag);
	}
	//文件
	private static void test02() throws IOException{
		// 写出
		ByteArrayOutputStream bo = new ByteArrayOutputStream();// 字符数组
		DataOutputStream x = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("txt.txt")));// 写出数据流(字节缓冲流(字符数组))
		x.writeUTF("测试文件系统");
		x.writeInt(1024);
		x.flush();
		byte[] datas = bo.toByteArray();// 转byte[] 数组
		System.out.println(datas.length);
		// 读
		DataInputStream d = new DataInputStream(new BufferedInputStream(new FileInputStream("txt.txt")));// 读取数据流(字节缓冲流(字节数组流))
		// 读取的顺序与写出一致
		String msg = d.readUTF();
		int b=d.readInt();
		System.out.println(b);
				
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr_Pmc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值