DataInputStream与DataOutputStream
可以用于操作基本数据类型的数据的流对象。
DataInputStream 数据输入流
DataOutputStream 数据输出流
常用方法
void writeInt(int v):将一个 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。
void writeBoolean(boolean v):将一个 boolean 值以 1-byte 值形式写入基础输出流。
void writeDouble(double v):使用 Double 类中的 doubleToLongBits 方法将 double 参数转换为一个 long 值,然后将该 long 值以 8-byte 值形式写入基础输出流中,先写入高字节。
void writeUTF(String str):以与机器无关方式使用 UTF-8 修改版编码将一个字符串写入基础输出流。
示例
import java.io.*;
class DataStreamDemo{
public static void main(String[] args)throws IOException{
// writeData();
// readData();
// writeUTFDemo();
readUTFDemo();
}
// 使用UTF-8修改版编码读取字符串,只能读取用对应的writeUTF()方法写入的数据
public static void readUTFDemo()throws IOException{
DataInputStream dis=new DataInputStream(new FileInputStream("uftdata.txt"));
String s=dis.readUTF();
System.out.println(s);
dis.close();
}
// 使用UTF-8修改版编码写入字符串,只能用对应的readUTF()方法读取
public static void writeUTFDemo()throws IOException{
DataOutputStream dos=new DataOutputStream(new FileOutputStream("uftdata.txt"));
dos.writeUTF("你好");
dos.close();
}
// 读取基本数据类型数据
public static void readData()throws IOException{
DataInputStream dis=new DataInputStream(new FileInputStream("data.txt"));
int num=dis.readInt();
boolean b=dis.readBoolean();
double d=dis.readDouble();
System.out.println("num="+num);
System.out.println("b="+b);
System.out.println("d="+d);
dis.close();
}
// 写入基本数据类型数据
public static void writeData()throws IOException{
DataOutputStream dos=new DataOutputStream(new FileOutputStream("data.txt"));
dos.writeInt(234);
dos.writeBoolean(true);
dos.writeDouble(9887.543);
dos.close();
}
}