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

时间: 2024-10-05 10:08:11

Java中数据输入输出流——DataInputStream和DataOutputStream的相关文章

关于java中的输入输出流的问题,新手求教,谢谢

问题描述 关于java中的输入输出流的问题,新手求教,谢谢 import java.io.*; public class Filetest3 { public static void main(String[] args) { // TODO Auto-generated method stub File file=new File("word.txt"); try{ FileOutputStream out=new FileOutputStream(file); byte mybyt

关于Mysql数据库中数据输入问题

关于数据库中数据输入问题 -------------------SELECT ... INTOOUTFILE 的 LOAD DATA INFILE 的逆操作问题. 一般我们都用insert into table_name values();来给数据表添加记录.这是一种方法. 当然也可以使用mysqlimport实用程序装载数据文件.其实它也是发送local data infile命令到服务器 而在输入大量数据的时候 ,我们可以用load data infile 语法来实现. 之前,我们需要先编辑

java源码-关于Java中的输入问题?

问题描述 关于Java中的输入问题? 在Java中如何像在C语言中从键盘输入数据?是不是只能调用scanner. 解决方案 也可以在运行的时候输入数据,,主函数中的string[] args就是用来接受程序运行时的输入参数 解决方案二: 解决方案三: http://jingyan.baidu.com/article/5bbb5a1b31211813eba179e2.html 解决方案四: 在做OJ的题的时候,经常要进行测试用例的输入操作,由于这方面,还不是很熟练,梳理与总结一下.C++输入主要参

c++-关于C++中文件输入输出流作为函数参数传递的问题

问题描述 关于C++中文件输入输出流作为函数参数传递的问题 今天学习C++输入输出流的时候,遇到一个问题,先贴代码: void foutput (ofstream &fout, int m) { for (int i=1;i<=m;i++) { fout << i*i+0.5; } } 上面这个函数的参数中用了一个ofstream类的变量,在下面使用的时候就发现不能直接把ofstream类的实体用到函数中,编译会出错.然后,我把"ofstream fout"变

java中数据交换的问题

问题描述 java中数据交换的问题 晚上在写程序的时候需要用到交换数据,所以我就主类里面写了一个swap, 但是在调用之后发现数据没有交换成功,可是在swap里面数据的确交换成功了呀, 不知道是什么原因,下面贴出代码: public static void main(String[] args){ int a,b; a = 4; b = 5; swap(a,b); System.out.println(a+","+b); } public static void swap(int a,

Java的DataInputStream和DataOutputStream数据输入输出流_java

DataInputStream  DataInputStream 是数据输入流.它继承于FilterInputStream. DataInputStream 是用来装饰其它输入流,它"允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型".应用程序可以使用DataOutputStream(数据输出流)写入由DataInputStream(数据输入流)读取的数据. DataInputStream 函数列表: DataInputStream(InputStream in)

【JAVA应用】输入输出流工具类

进行网络传值,上传文件免不了使用输入输出流,下面记录一下经典的输入输出流类:(按使用情况可以适当修改,可以打包成jar包作为工具类) 代码: package com.example.uril; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; public class StreamTool { /* * 读取流中的数据 * */ public static b

java中的输入有哪些???

问题描述 在Java中像C中scanf,gets及C++中cin,cout,的输入与输出方式有哪些??另想下个JBuilder用下,不知道在哪里能下载到.希望高手指点 解决方案 解决方案二:好巧今天刚好看到一点关于这个的知识Java中输出有println和printf.输入是scanner.各有各的具体应的应用.天空中去搜就有那个.

java中数据的传递方式到底是怎样的!

今天早上我了一道有关java的题.主要考点是考java中值得传递方式. 之前我在javaoo里总结的是:基本数据类型中保存的是实际的值,引用数据类型保存的是被引用的内存地址,那么基本数据类型就是按值传递,引用数据类型就是按地址来传递的.(难道我一开始就错了) 题是真样的: 1 public class SendValue{ 2 public String str="6"; 3 public static void main(String[] args) { 4 SendValue sv