Java中对各种基本数据类型和String类型的读写,采用什么流?
在Java中,基本数据类型和String
类型的读写通常使用不同的流来处理。以下是对各种基本数据类型和String
类型的读写流的详细说明。
对于基本数据类型(如int
、float
、double
、char
等),Java提供了DataInputStream
和DataOutputStream
类。这两个类可以用于从输入流中读取基本数据类型,或将基本数据类型写入输出流。
import java.io.*;
public class DataStreamExample {
public static void main(String[] args) {
// 写入基本数据类型
try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.dat"))) {
dos.writeInt(123);
dos.writeFloat(45.67f);
dos.writeDouble(89.123);
dos.writeChar('A');
} catch (IOException e) {
e.printStackTrace();
}
// 读取基本数据类型
try (DataInputStream dis = new DataInputStream(new FileInputStream("data.dat"))) {
int intValue = dis.readInt();
float floatValue = dis.readFloat();
double doubleValue = dis.readDouble();
char charValue = dis.readChar();
System.out.println("int: " + intValue);
System.out.println("float: " + floatValue);
System.out.println("double: " + doubleValue);
System.out.println("char: " + charValue);
} catch (IOException e) {
e.printStackTrace();
}
}
}
对于String
类型,通常使用BufferedReader
和BufferedWriter
类,或者使用PrintWriter
类来进行读写操作。BufferedReader
用于从字符输入流中读取文本,BufferedWriter
和PrintWriter
用于将文本写入字符输出流。
import java.io.*;
public class StringStreamExample {
public static void main(String[] args) {
// 写入String类型
try (BufferedWriter writer = new BufferedWriter(new FileWriter("stringData.txt"))) {
writer.write("Hello, World!");
writer.newLine();
writer.write("Java I/O Streams");
} catch (IOException e) {
e.printStackTrace();
}
// 读取String类型
try (BufferedReader reader = new BufferedReader(new FileReader("stringData.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
DataInputStream
和DataOutputStream
进行读写。BufferedReader
和BufferedWriter
或PrintWriter
进行读写。这些流类提供了高效的方式来处理不同类型的数据,确保在读写过程中数据的完整性和准确性。