大家好,我是Java進階者。
前言
本文主要學習DataInputStream、DataOutputStream、PrintStream類。通過IO流存儲對象,有時候我們并不需要存儲整個對象的信息,只要存儲對象的成員數據。這時候就不用ObjectInputStream和ObjectOutputStream的流。PrintStream是打印輸出流。接下來小編帶大家一起來學習!
一、DataInputStream類
1.DataInputStream類是數據輸入流它和機器無關的操作數據流,讀取Java原始的數據。讀取一個數值就不必要知道這個數值的多少字節的。
2.DataInputStream類構造方法:
public DataInputStream(InputStream in):創建指定的數據輸入流讀取DataInputStream。in參數表示指定的輸入流
3.DataInputStream類方法如下圖所示:
《該圖片引用菜鳥教程》
4.DataInputStream類方法的例子實現:
- import java.io.*;
- public class P19 {
- public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- FileInputStream fs=new FileInputStream("text/test01");
- BufferedInputStream bs=new BufferedInputStream(fs);
- DataInputStream ds=new DataInputStream(bs);
- //讀一個int類型
- System.out.println(ds.readInt());
- //讀一個byte類型
- System.out.println(ds.readByte());
- //讀一個char類型
- System.out.println(ds.readChar());
- //讀一個double類型
- System.out.println(ds.readDouble());
- //讀一個boolean類型
- System.out.println(ds.readBoolean());
- //寫一個轉換成UTF-8的字符串
- System.out.println(ds.readUTF());
- //關閉流
- ds.close();
- }
- }
運行的結果如下圖所示:
二、DataOutputStream類
1.DataOutputStream類是數據輸出流它和機器無關的操作數據流,讀取Java原始的數據。
2.DataOutputStream類的構造方法:
public DataOutputStream(OutputStream out):創建指定的數據輸出流寫入DataInputStream。out參數表示指定的輸出流
3.DataOutputStream類方法如下圖所示:
《該圖片引用菜鳥教程》
4.DataOutputStream類方法的例子實現:
- import java.io.*;
- public class P20 {
- public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- FileOutputStream fos=new FileOutputStream("text/test01");
- BufferedOutputStream bos=new BufferedOutputStream(fos);
- DataOutputStream dos=new DataOutputStream(bos);
- //寫一個int類型
- dos.writeInt(100);
- //寫一個byte類型
- dos.writeByte(20);
- //寫一個char類型
- dos.writeChar('a');
- //寫一個double類型
- dos.writeDouble(3.15151777);
- //寫一個boolean類型
- dos.writeBoolean(true);
- //寫一個轉換成UTF-8的字符串
- dos.writeUTF("Hello JAVA!");
- //關閉流
- dos.close();
- }
- }
運行的結果如下圖所示:
上面的運行的結果出現了亂碼是因為各種數據類型是以二進制形式輸出,用戶是沒有辦法查看的,可以通過DataInputStream這個類來讀取數據!
三、PrintStream類
1.PrintStream類是打印輸出流,它是繼承FilterOutputStream類。PrintStream可以把基本數據類型的數據或者引用的數據類型的對象格式化成字符串后在輸出。
2.使用PrintStream類用法例子的實現:
- import java.io.*;
- class Dog{
- //重寫toString()方法
- public String toString(){
- return "一只小狗汪汪汪";
- }
- }
- public class P21 {
- public static void main(String[] args) throws Exception {
- //創建FileOutputStream對象
- FileOutputStream fos=new FileOutputStream("text/test01");
- //創建PrintStream對象
- PrintStream ps=new PrintStream(fos);
- //創建Dog對象
- Dog d=new Dog();
- ps.println("狗的年齡為:"+19);
- ps.println(d);
- }
- }
運行的結果如下圖所示:
四、總結
本文主要介紹了DataInputStream類、DataOutputStream類、PrintStream類。DataInputStream類是數據輸入流它和機器無關的操作數據流,讀取Java原始的數據。DataInputStream介紹它的構造方法和方法,DataOutputStream類方法的例子實現。DataOutputStream類是數據輸出流它和機器無關的操作數據流,讀取Java原始的數據。DataOutputStream介紹它的構造方法和方法,DataOutputStream類方法的例子實現。PrintStream可以把基本數據類型的數據或者引用的數據類型的對象格式化成字符串后在輸出。希望大家通過本文的學習,對你有所幫助!
原文鏈接:https://mp.weixin.qq.com/s/WvFTvPkraBrwQ3AQc_FbXw