Java專屬資料輸入輸出流
阿新 • • 發佈:2021-02-15
今天我們看一下這個專屬資料的流DataInputStream DataOutputStream
這兩個流是包裝流,專門用於給資料進行輸入輸出的流,我們可以看一下這個包裝流對於資料量型別的強大功能處理,這兩個流不僅能對資料型別的元素進行輸入輸出,還能儲存其型別,也就是說我們不僅能儲存資料還能儲存資料的型別,並且用其他的流無法進行處理,且資料的存取的規則順序必須一致,才能正確的讀取內容
我們看一下例項:
import java.io.*;
public class dataStreamTest {
public static void main( String[] args) {
FileInputStream fis=null;
FileOutputStream fos=null;
DataInputStream dis=null;
DataOutputStream dos=null;
try {
fos=new FileOutputStream("test.txt");
dos=new DataOutputStream(fos);
dos.writeByte(12 );
dos.writeInt(1234);
dos.writeDouble(234.342);
fis= new FileInputStream("test.txt");
dis=new DataInputStream(fis);
System.out.println(dis.readByte());
System.out.println(dis.readInt());
System.out.println (dis.readDouble());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (dis!=null) {
try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dos!=null){
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
結果展示:
test.txt檔案
我們從上述的程式碼中可以看到,我們對test.txt檔案進行寫入了資料並且指明瞭寫入資料的型別,然後進行讀取列印,然而我們可以看到testl.txt檔案中的內容我們是無法進行檢視的因為我們用專屬的DataOutputStrean寫出的內容只有用專屬的DateInputStream讀取才能檢視到資料內容,並且我們寫入的元素順序和讀取的元素順序及其型別必須一致,必須一致:
寫入順序:
dos.writeByte(12);
dos.writeInt(1234);
dos.writeDouble(234.342);
讀取順序:
dis.writeByte(12);
dis.writeInt(1234);
dis.writeDouble(234.342);
所以這個流用的比較少,可能加密處理可能會多一些,我們瞭解一下吧!!!