Java中數據輸入輸出流——DataInputStream和DataOutputStream
一、基本概念
DataOutputStream
數據輸出流允許應用程序以適當方式將基本 Java 數據類型寫入輸出流中。然後應用程序可以使用數據輸入流將數據讀入。
DataInputStream
數據輸入流允許應用程序以與機器無關方式從底層輸入流中讀取基本 Java 數據類型。應用程序可以使用數據輸出流寫入稍後由數據輸入流讀取的數據。對於多線程訪問不一定是安全的。 線程安全是可選的,它由此類方法的使用者負責。
二、例子
/**
* 必須先使用DataOutputStream寫入數據,然後使用DataInputStream讀取數據方可。
*
* @author xy
*
*/
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
最後更新:2017-04-04 07:03:12