### 說明
DataInputStream和DataOutputStream允許應用程序以與機器無關的方式從底層輸入流中讀取基本的java數據類型。也就是說,當讀取一個數據時,不必關心這個數值是什么字節。
### 關鍵方法
### DataInputStream
構造方法:
DataInputStream(InputStream in)
讀取數據:
readBoolean()
readByte()
readChar()
readInt()
readFloat()
readDouble()
### DataOutputStream
構造方法:
DataOutputStream(OutputStream out)
寫入數據的方法:
writeBoolean(boolean v)
writeByte(int v)
writeChar(int v)
writeInt(int v)
writeFloat(float v)
writeDouble(double v)
### 使用Demo
這個Demo是一個使用DataOutputStream向文件中存取數據和使用DataInputStream從文件中讀取數據的樣例:
~~~
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataInputStreamDataOutputStream {
public static void testDataInputStream(){
DataInputStream dis = null;
try {
File fin = new File("DataInputOutputStream.txt");
FileInputStream fis = new FileInputStream(fin);
dis = new DataInputStream(fis);
System.out.println(dis.readInt());
System.out.println(dis.readBoolean());
System.out.println(dis.readFloat());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(dis != null){
try {
dis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//測試DataOutputStream
public static void testDataOutputStream(){
DataOutputStream dos = null;
try {
File fout = new File("DataInputOutputStream.txt");
FileOutputStream fos = new FileOutputStream(fout);
dos = new DataOutputStream(fos);
dos.writeInt(1);
dos.writeBoolean(true);
dos.writeFloat((float) 1.203);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(dos != null){
try {
dos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
~~~
調用方式:
~~~
//測試DataOutputStream
DataInputStreamDataOutputStream.testDataOutputStream();
//測試DataInputStream
DataInputStreamDataOutputStream.testDataInputStream();
~~~
- 前言
- Java核心技術之Comparator和Comparable在排序中的應用
- Java核心技術之容器
- Java核心技術之基本數據類型
- java核心技術之正則表達式
- java核心技術之reflect(一):一個系統學習reflect的Demo(精)
- java核心技術之IO流(一)File類
- java核心技術之IO流(二)FileInputStream和FileOutputStream
- java核心技術之IO流(三)FileReader和FileWriter
- java核心技術之IO流(四)BufferedInputStream和BufferedOutputStream
- java核心技術之IO流(五)BufferedReader和BufferedWriter
- java核心技術之IO流(六)DataInputStream和DataOutputStream