Java中数据输入输出流——DataInputStream和DataOutputStream

简介:

一、基本概念

DataOutputStream

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

DataOutputStream

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

 

二、例子

/**
 * 必须先使用DataOutputStream写入数据,然后使用DataInputStream读取数据方可。
 * 
 * @author 徐越
 * 
 */
public class TestClass
{
	public static void main(String[] args) throws Exception
	{
		TestClass t = new TestClass();
		t.write();
		t.read();
	}

	public void write() throws Exception
	{
		String path = this.getClass().getClassLoader().getResource("test.txt").toURI().getPath();
		OutputStream os = new FileOutputStream(path);
		DataOutputStream dos = new DataOutputStream(os);
		dos.writeDouble(Math.random());
		dos.writeBoolean(true);
		dos.writeInt(1000);
		dos.writeInt(2000);
		dos.flush();
		os.close();
		dos.close();
	}

	public void read() throws Exception
	{
		InputStream instream = this.getClass().getClassLoader().getResourceAsStream("test.txt");
		DataInputStream dis = new DataInputStream(instream);
		double d = dis.readDouble();
		boolean b = dis.readBoolean();
		// 先写的先被读出来
		int i1 = dis.readInt();
		int i2 = dis.readInt();
		instream.close();
		dis.close();
		System.out.println(d);
		System.out.println(b);
		System.out.println(i1);
		System.out.println(i2);
	}
}

输出结果

0.4683893857027681
true
1000
2000

目录
相关文章
|
6月前
|
Java
【Java基础】输入输出流(IO流)
Java基础、输入输出流、IO流、流的概念、输入输出流的类层次结构图、使用 InputStream 和 OutputStream流类、使用 Reader 和 Writer 流类
184 2
|
7月前
|
Java
JAVA输入输出流
JAVA输入输出流
38 1
|
缓存 Java
理解缓冲流及其在Java中的应用
理解缓冲流及其在Java中的应用
|
存储 Java 编译器
java之九 基本输入输出流
java之九 基本输入输出流
42 0
|
Java
Java IO流--数据流DataInputStream和DataOutputStream的使用
Java IO流--数据流DataInputStream和DataOutputStream的使用
179 0
|
Java 关系型数据库 MySQL
【Java I/O 流】数据输入输出流:DataInputStream 和 DataOutputStream
数据流与要是将 Java 的基础数据类型读取或写入流中,它有如下特点: > 数据流是一个处理流,它必须套接在节点流之上。 数据流在读取和写入时的顺序要一致。否则,读取的数据会失真,造成乱码。
514 0
|
Java
Java-Java I/O 字节流之BufferedReader/BufferedWriter
Java-Java I/O 字节流之BufferedReader/BufferedWriter
77 0
|
Java API
Java-IO流之缓冲流
为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组,缺省使用8192个字节(8Kb)的缓冲区。
123 0
|
缓存 Java
Java IO流 - 缓冲流的详细使用介绍
缓冲流也称为高效流、或者高级流。之前学习的字节流和字符流可以称为原始流。 作用:缓冲流自带缓冲区、可以提高原始字节流、字符流读写数据的性能