• 15 IO流(十二)——数据流Data InputStream/OutputStream 未学会


    数据流的引入

    Data流的父类是Filter抽象基类,也就是说Data流是装饰流。

    数据流可以将数据的类型也一起传输。

    数据流的读取写入顺序(数据类型的读写顺序)需要一致。

    未完成代码

    /**
    *Data流、数据流
    *1.为了演示,我们先将数据写入数据流,再从中读取出来
    *2.读取的顺序与写出保持一致
    *DataInputStream
    *DataOutputStream
    */
    import java.io.*;
    public class _01DataTest
    {
    	public static void main(String[] args){
    		//声明流
    		ByteArrayOutputStream bos = null;
    		DataOutputStream dos= null;
    		ByteArrayInputStream bis = null;
    		DataInputStream dis = null;
    		try{
    		//定义Data输出流
    		bos = new ByteArrayOutputStream();//节点流
    		//定义了输出流但没有输出目的地,当然也可以有,比如写到文件去
    		dos = new DataOutputStream(new BufferedOutputStream(bos));
    		//先将数据写入输出流
    		byte[] data = {12,34,33,1};
    		//dos.write(data);//写入一个数组
    		dos.writeBoolean(false);//写入一个布尔值
    		dos.writeByte(101);//写入一个byte值
    		dos.writeShort(122);//写short值
    		dos.write(99);//写入Int型
    		dos.writeLong(990l);//写入long型
    		dos.writeFloat(123.1f);//写入float型
    		dos.writeDouble(123.3);//写入double型
    		dos.writeChar('我');//写入一个字符值
    		dos.writeChars("以前我没得选,现在我想做个好人");//将一个字符串作为字符序列写入
    		dos.writeUTF("I讨厌0,,,");
    		byte [] datas = bos.toByteArray();//将刚才的数据读出来
    		//定义Data输入流并将datas作为输入源
    		bis = new ByteArrayInputStream(datas);//datas作为Data输入流的源
    		dis = new DataInputStream(bis);
    		//再从输入流中读取数据
    		//byte[] result = new byte[1024];
    		//dis.read(result);
    		//System.out.println(result);
    		String utfResult = dis.readUTF();
    		System.out.println(utfResult);
    		boolean booleanResult = dis.readBoolean();
    		System.out.println(booleanResult);
    		}catch(IOException e){
    			e.printStackTrace();
    		}
    	}
    }
    

      

    在43行报错:EOFException 无法解决。

  • 相关阅读:
    Connected Components? Codeforces
    洛谷 P1344 [USACO4.4]追查坏牛奶Pollutant Control
    洛谷 P4174 [NOI2006]最大获利 && 洛谷 P2762 太空飞行计划问题 (最大权闭合子图 && 最小割输出任意一组方案)
    表达式求值
    费用流(自用,勿看)
    二分图??(自用,勿看)
    C 标准库
    Linux-socket使用
    C 标准库
    C 标准库
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/11925991.html
Copyright © 2020-2023  润新知