大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 實例解析IO數據流用法

實例解析IO數據流用法

更新時間:2020-11-20 17:47:37 來源:動力節點 瀏覽1442次

數據流(data stream)實際上是一組有序,有起點和終點的字節的數據序列。IO數據流包括輸入流和輸出流。除了流向數據存儲或從數據存儲流出的數據不必命名外,每個數據流必須要有一個合適的名字,以反映該數據流的含義。本文就來給大家普及一下IO數據流基本用法。


數據流將“基本數據類型與字符串類型”作為數據源,從而允許程序以與機器無關的方式從底層輸入輸出流中操作Java基本數據類型與字符串類型。

DataInputStream和DataOutputStream提供了可以存取與機器無關的所有Java基礎類型數據(如:int、double、String等)的方法。

DataInputStream和DataOutputStream是處理流,可以對其他節點流或處理流進行包裝,增加一些更靈活、更高效的功能。

使用Data輸出流寫出數據后,再使用Data輸入流讀取時一定要保證讀取的順序和寫出的順序一致,否則數據出現錯亂。


一、使用數據輸入流完成數據的讀取操作

1.聲明數據輸入流對象

DataInputStream dataInputStream=null;

2.實例化數據輸入流對象

dataInputStream=new DataInputStream(new FileInputStream(path));

3.完成數據的讀取操作

byte b=dataInputStream.readByte();

short s=dataInputStream.readShort();

int i=dataInputStream.readInt();

long l=dataInputStream.readLong();

float f=dataInputStream.readFloat();

double d=dataInputStream.readDouble();

char ch=dataInputStream.readChar();

boolean bool=dataInputStream.readBoolean();

String content=dataInputStream.readUTF();

System.out.println("b="+b+",s="+s+",i="+i+",l="+l+",float="+f+",double="+d+",ch="+ch+",bool="+bool+",content="+content);


二、使用數據輸出流完成對Java八大基本數據類型及其String數據類型的寫出功能.

1.聲明數據輸出流對象

DataOutputStream dataOutputStream=null;

2.實例化數據輸出流對象

dataOutputStream=new DataOutputStream(new FileOutputStream(path));

3.將java八大基本數據類型及其String數據類型寫出到指定的文件中

dataOutputStream.writeByte(5);

dataOutputStream.writeShort(10);

dataOutputStream.writeInt(15);

dataOutputStream.writeLong(20);

dataOutputStream.writeFloat(25.0f);

dataOutputStream.writeDouble(30.5d);

dataOutputStream.writeChar('a');

dataOutputStream.writeBoolean(false);

dataOutputStream.writeUTF("b");


三、DataInputStream和DataOutputStream的使用實例:

java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

public class TestDataStream {

public static void main(String[] args) {

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.writeChar('a');

dos.writeInt(10);

dos.writeDouble(Math.random());

dos.writeBoolean(true);

dos.writeUTF("動力節點");

//手動刷新緩沖區:將流中數據寫入到文件中

dos.flush();

//直接讀取數據:讀取的順序要與寫入的順序一致,否則不能正確讀取數據。

System.out.println("char: " + dis.readChar());

System.out.println("int: " + dis.readInt());

System.out.println("double: " + dis.readDouble());

System.out.println("boolean: " + dis.readBoolean());

System.out.println("String: " + dis.readUTF());

} 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();

}

}

}

}


以上就是IO數據流的基本用法,數據輸入流和數據輸出流需要配合使用的情況下,讀取的順序一定要與寫入的順序一致,否則不能正確讀取數據。想要學習更多的IO流知識,請觀看本站的Java基礎教程,各種IO流的屬性和用法這里應有盡有!


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 嗯啊在线观看免费影院 | 九九热精品视频在线播放 | 一级毛片免费视频日本 | 四虎视频国产在线观看 | 欧美一区永久视频免费观看 | 深夜影院老司机69影院 | 国产精品四虎在线观看免费 | 九九香蕉网| 亚洲国产精 | 精品中文字幕一区在线 | 一区二区三区四区免费视频 | 亚洲国产日韩综合久久精品 | 亚洲一区二区三区高清不卡 | 国产在线一区二区 | 国产青色 | 欧美成人专区 | 一区精品视频 | 亚欧精品在线观看 | 久操视频免费在线观看 | 香蕉视频在线观看国产 | 国产精品久久久精品视频 | 久久一本一区二区三区 | 日本a级精品一区二区三区 日本a毛片在线播放 | 日韩永久免费视频 | 色狠狠成人综合网 | 久久精品国产久精国产果冻传媒 | 国产日韩一区二区 | 这里只有精品在线播放 | 欧美在线日韩在线 | 欧美性色xo在线 | 欧美综合图区亚洲综合图区 | 日本不卡免费高清视频 | 久草视频精品在线 | 国产一二三区在线观看 | 欧美一级成人免费大片 | 九九99视频在线观看视频观看 | 97国产在线视频公开免费 | 免费看欧美毛片大片免费看 | 黄色影院在线观看视频 | 久久精品成人 | 视频一区二区在线 |