下面就来详细讲解一下Java中DataInputStream和DataOutputStream的使用方法。
一、基本概述
DataInputStream和DataOutputStream是Java IO包中的两个类,分别用于基本数据类型的读写操作。DataInputStream提供了一系列方法来读取不同类型的基本数据类型,DataOutputStream提供了一系列方法来写入不同类型的基本数据类型,包括:布尔型、字节数组、字符型、double型、float型、int型、long型和短整型。
使用DataInputStream和DataOutputStream时,需要按照相同的顺序依次写入并读取数据。
二、使用示例
接下来,我们将通过两个示例来介绍DataInputStream和DataOutputStream的使用方法。
1. 写入和读取基本数据类型
第一个示例演示了如何使用DataOutputStream写入基本数据类型,并使用DataInputStream读取数据后输出。我们可以先构造一个int类型的数组,然后将每个元素写入到文件中,最后再从文件中读出数据,输出到控制台上。
import java.io.*;
public class DataStreamExample {
public static void main(String args[]) throws IOException {
int arr[] = {1, 2, 3, 4, 5};
FileOutputStream fos = new FileOutputStream("datastream.txt");
DataOutputStream dos = new DataOutputStream(fos);
for (int i = 0; i < arr.length; i++) {
dos.writeInt(arr[i]);
}
FileInputStream fis = new FileInputStream("datastream.txt");
DataInputStream dis = new DataInputStream(fis);
for (int i = 0; i < arr.length; i++) {
int num = dis.readInt();
System.out.println(num);
}
}
}
在这个示例中,我们首先创建一个int类型的数组arr,然后创建一个输出流对象DataOutputStream,并将其链接到一个文件输出流对象上。在循环中,我们使用writeInt()方法将数组中的每个元素写入到文件中。最后,我们创建一个输入流对象DataInputStream,并将其链接到一个文件输入流对象上。在循环中,我们使用readInt()方法从文件中读取每个元素,并将其输出到控制台。
2. 写入和读取字符串
第二个示例演示了如何使用DataOutputStream写入字符串,并使用DataInputStream读取数据后输出。我们首先创建一个字符串,并将其写入到文件中。然后,我们从文件中读取字符串,并将其输出到控制台上。
import java.io.*;
public class DataStreamExample {
public static void main(String args[]) throws IOException {
String str = "Hello World!";
FileOutputStream fos = new FileOutputStream("datastream.txt");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeUTF(str);
FileInputStream fis = new FileInputStream("datastream.txt");
DataInputStream dis = new DataInputStream(fis);
String strRead = dis.readUTF();
System.out.println(strRead);
}
}
在这个示例中,我们创建一个字符串str,并将其写入到文件中的同时,也将其转换成UTF-8编码。然后,我们从文件中读取字符串,并将其转换成原来的字符串格式,并将其输出到控制台。请注意,写入和读取字符串时需要保持相同的编码方式。
三、总结
DataInputStream和DataOutputStream是Java IO包中用于基本数据类型读写操作的类。使用DataOutputStream,我们可以将不同类型的基本数据类型写入到文件中。使用DataInputStream,我们可以从文件中读取不同类型的基本数据类型。在使用时,需要将读写的基本数据类型顺序一一对应,否则可能会导致错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中DataInputStream和DataOutputStream的使用方法 - Python技术站