10.5-全棧Java筆記:常見流詳解(三)
上節我們講到「Java中常用流:緩沖流」,本節我們學習數據流和對象流~
數據流數據流將“基本數據類型變量”作為數據源,從而允許程序以與機器無關方式從底層輸入輸出流中操作java基本數據類型。
DataInputStream和DataOutputStream提供了可以存取與機器無關的所有Java基礎類型數據(如:int,double 等)的方法。
【示例1】DataInputStream和DataOutputStream的使用
package com.bjsxt.io;
import java.io.*;
public class TestDataStream {
public static DataOutputStream dos = null; DataInputStream dis = null; FileOutputStream fos = null; FileInputStream fis = null; try { fos = new FileOutputStream("D:/data.txt"); fis = new FileInputStream("D:/data.txt");
dos = new DataOutputStream(new BufferedOutputStream(fos)); dis = new DataInputStream(new BufferedInputStream(fis));
//將如下數據寫入到文件中 dos.writeDouble(Math.random()); dos.writeBoolean(true); dos.writeInt(10); dos dos.flush(); //將流中數據寫入到文件中
//從文件中直接讀取基本數據 System.out.println("double: " + dis.readDouble()); System.out.println("boolean: " + dis.readBoolean()); System.out.println("int: " + dis.readInt()); System.out.println("char: " + dis.readChar()); } catch (IOException e) { e.printStackTrace(); } finally { try { if(dos!=null){ dos.close(); } } catch (IOException e) { e.printStackTrace(); } try { if(dis!=null){ dis.close(); } } catch (IOException e) { e.printStackTrace(); } try { if(fos!=null){ fos.close(); } } catch (IOException e) { e.printStackTrace(); } try { if(fis!=null){ fis.close(); } } catch (IOException e) { e.printStackTrace(); } } } } |
對象流
ObjectInputStream/ObjectOutputStream是以“對象”為數據源。經常使用對象流將對象數據進行序列化和反序列化操作。註:後續文章會詳細講解<Java對象的序列化和反序列化>
「全棧Java筆記」是一部能幫大家從零到一成長為全棧Java工程師系列筆記。筆者江湖人稱 Mr. G,10年Java研發經驗,曾在神州數碼、航天院某所研發中心從事軟件設計及研發工作,從小白逐漸做到工程師、高級工程師、架構師。精通Java平臺軟件開發,精通JAVAEE,熟悉各種流行開發框架。
筆記包含從淺入深的六大部分:
A-Java入門階段
B-數據庫從入門到精通
C-手刃移動前端和Web前端
D-J2EE從了解到實戰
E-Java高級框架精解
F-Linux和Hadoop
本文出自 “12931675” 博客,請務必保留此出處http://12941675.blog.51cto.com/12931675/1944623
10.5-全棧Java筆記:常見流詳解(三)