zoukankan      html  css  js  c++  java
  • Java数据流学习

    数据流

    与机器无关的操作Java基本数据类型。网络传输会用。

    • DataInputStream
      数据输入流允许应用程序以与机器无关的方式从底层输入流中读取Java基本数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。DataInputStream对于多线程访问不一定是安全的。线程安全是可选的,他由此类方法是使用者负责。

    • DataOutputStream
      数据输出流允许应用程序以适当的方式将基本Java数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。

    代码示例

    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 org.junit.Test;
    
    public class DataStreamDemo {
    	// 向文件中写入数据
    	@Test
    	public void writeData() {
    		File file = new File("F:/test.txt");
    		try {
    			BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
    
    			DataOutputStream dos = new DataOutputStream(bos);
    
    			dos.writeInt(10);// 写入4个字节
    			dos.writeByte(5);// 写入一个字节
    			dos.writeUTF("爱");
    
    			dos.close();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}// writeData
    
    	// 从文件中读取数据
    	@Test
    	public void readData() {
    		File file = new File("F:/test.txt");
    		try {
    			BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
    
    			DataInputStream dis = new DataInputStream(bis);
    
    			// 读的时候应按照写入的顺序
    			int num = dis.readInt();
    			byte b = dis.readByte();
    			String str = dis.readUTF();
    
    			System.out.println(num + "," + b + "," + str);
    			dis.close();
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}// readData
    }
  • 相关阅读:
    自我介绍 Self Introduction
    HDU1864 最大报销额
    HDU2955 Robberies
    Sicily 1509. Rails
    Sicily 1031. Campus
    Sicily 1090. Highways
    Sicily 1034. Forest
    Sicily 1800. Sequence
    Sicily 1150. 简单魔板
    CodeVS4919 线段树练习4
  • 原文地址:https://www.cnblogs.com/zxfei/p/10879881.html
Copyright © 2011-2022 走看看