跟我学IO(DataInputStream和DataOutputStream类)

DataInputStream类提供了java基本数据的IO操作,该输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。而DataOutputStream类提供了将java基本数据类型写入到文件中取。

DataInputStream类提供了java基本数据的IO操作,该输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。由于DataInputStream类对于多线程访问不一定是安全的,因此开发人员在多线程环境下面需要自己处理线程安全方面的工作。

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

DataInputStream类方法介绍:

DataInputStream(InputStream in) 使用指定的底层InputStream创建一个DataInputStream。

boolean readBoolean() 获取一个boolean值

byte readByte() 获取一个byte数据

char readChar() 获取一个char数据   

double readDouble() 获取double数据

float readFloat() 获取float数据

int readInt() 获取int数据

long readLong() 获取long数据

short readShort() 获取一个short数据

String readUTF() 获取字符串

DataOutputStream类方法介绍:

DataOutputStream(OutputStream out) 创建一个新的数据输出流,将数据写入指定基础输出流。

writeBoolean(boolean v) 将一个 boolean 值以 1-byte 值形式写入基础输出流。    

void writeByte(int v) 将一个 byte 值以 1-byte 值形式写出到基础输出流中。    

void writeBytes(String s) 将字符串按字节顺序写出到基础输出流中。    

void writeChar(int v) 将一个 char 值以 2-byte 值形式写入基础输出流中,先写入高字节。    

void writeChars(String s) 将字符串按字符顺序写入基础输出流。    

void writeDouble(double v) 使用 Double 类中的 doubleToLongBits 方法将 double 参数转换为一个 long 值,然后将该 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。    

void writeFloat(float v) 使用 Float 类中的 floatToIntBits 方法将 float 参数转换为一个 int 值,然后将该 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。    

void writeInt(int v) 将一个 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。    

void writeLong(long v) 将一个 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。    

void writeShort(int v) 将一个 short 值以 2-byte 值形式写入基础输出流中,先写入高字节。    

void writeUTF(String str) 以与机器无关方式使用 UTF-8 修改版编码将一个字符串写入基础输出流。    

实例:

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class DataInputOuputStreamTest {

	public static void main(String[] args) throws Exception {
		// 写数据
		DataOutputStream output = new DataOutputStream(
				new FileOutputStream("document/data.txt"));
		int intVal = 128; // 写入一个整数
		output.writeInt(intVal);
		char charVal = 'a'; // 写入一个字符
		output.writeChar(charVal);
		long longVal = 255L; // 写入一个long值
		output.writeLong(longVal);
		String stringVal = "hello world"; // 写入一个字符串
		output.writeUTF(stringVal);
		output.close();
		
		// 获取数据
		DataInputStream input = new DataInputStream(
				new FileInputStream("document/data.txt"));
		System.out.println(input.readInt());
		System.out.println(input.readChar());
		System.out.println(input.readLong());
		System.out.println(input.readUTF());
		input.close();	
	}
	
}

输出结果:

 128

 a

 255

 hello world

上面的例子展示了如何使用DataInputStream和DataOutputStream对java基本数据类型进行读入和写出。更多用法请读者自己学习。

学习知识要善于思考,思考,再思。我就是靠这个方法成为科学家的。 —— 爱因斯坦
0 不喜欢
说说我的看法 -
全部评论(
没有评论
目录
热门标签
热门文章
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号