鴻蒙OS DataOutputStream

2022-10-19 14:07 更新

DataOutputStream

java.lang.Object

|---java.io.OutputStream

|---|---java.io.FilterOutputStream

|---|---|---java.io.DataOutputStream

public class DataOutputStream
extends FilterOutputStream
implements DataOutput

數(shù)據(jù)輸出流允許應(yīng)用程序以可移植的方式將原始 Java 數(shù)據(jù)類型寫入輸出流。 然后,應(yīng)用程序可以使用數(shù)據(jù)輸入流來讀回數(shù)據(jù)。

Since:

JDK1.0

字段摘要

修飾符和類型 字段 描述
protected int written 到目前為止寫入數(shù)據(jù)輸出流的字節(jié)數(shù)。
從類 java.io.FilterOutputStream 繼承的字段
out

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
DataOutputStream(OutputStream out) 創(chuàng)建新的數(shù)據(jù)輸出流以將數(shù)據(jù)寫入指定的基礎(chǔ)輸出流。

方法總結(jié)

修飾符和類型 方法 描述
void flush() 刷新此數(shù)據(jù)輸出流。
int size() 返回寫入的計數(shù)器的當(dāng)前值,即到目前為止寫入此數(shù)據(jù)輸出流的字節(jié)數(shù)。
void write(byte[] b, int off, int len) 將指定字節(jié)數(shù)組中的 len 個字節(jié)從 offset off 處開始寫入底層輸出流。
void write(int b) 將指定字節(jié)(參數(shù) b 的低八位)寫入底層輸出流。
void writeBoolean(boolean v) 將布爾值作為 1 字節(jié)值寫入基礎(chǔ)輸出流。
void writeByte(int v) 將一個字節(jié)作為 1 字節(jié)值寫入底層輸出流。
void writeBytes(String s) 將字符串作為字節(jié)序列寫入底層輸出流。
void writeChar(int v) 將 char 作為 2 字節(jié)值寫入底層輸出流,先是高字節(jié)。
void writeChars(String s) 將字符串作為字符序列寫入基礎(chǔ)輸出流。
void writeDouble(double v) 使用 Double 類中的 doubleToLongBits 方法將 double 參數(shù)轉(zhuǎn)換為 long,然后將該 long 值作為 8 字節(jié)數(shù)量寫入底層輸出流,先是高字節(jié)。
void writeFloat(float v) 使用 Float 類中的 floatToIntBits 方法將 float 參數(shù)轉(zhuǎn)換為 int,然后將該 int 值作為 4 字節(jié)數(shù)量寫入底層輸出流,先是高字節(jié)。
void writeInt(int v) 將一個 int 作為四個字節(jié)寫入底層輸出流,先是高字節(jié)。
void writeLong(long v) 將 long 作為 8 個字節(jié)寫入底層輸出流,先是高字節(jié)。
void writeShort(int v) 以兩個字節(jié)的形式將一個短路寫入底層輸出流,先是高字節(jié)。
void writeUTF(String str) 使用修改后的 UTF-8 編碼以與機(jī)器無關(guān)的方式將字符串寫入底層輸出流。
從接口 java.io.DataOutput 繼承的方法
write
從類 java.io.FilterOutputStream 繼承的方法
close, write
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

字段詳細(xì)信息

written

protected int written

到目前為止寫入數(shù)據(jù)輸出流的字節(jié)數(shù)。 如果此計數(shù)器溢出,它將被包裝到 Integer.MAX_VALUE。

構(gòu)造函數(shù)詳細(xì)信息

DataOutputStream

public DataOutputStream(OutputStream out)

創(chuàng)建新的數(shù)據(jù)輸出流以將數(shù)據(jù)寫入指定的基礎(chǔ)輸出流。 寫入的計數(shù)器設(shè)置為零。

參數(shù):

參數(shù)名稱 參數(shù)描述
out 底層輸出流,保存以備后用。

方法詳情

write

public void write(int b) throws IOException

將指定字節(jié)(參數(shù) b 的低八位)寫入底層輸出流。 如果沒有拋出異常,則寫入的計數(shù)器加 1。

實現(xiàn)OutputStream的write方法。

指定者:

寫入接口DataOutput

覆蓋:

寫在類 FilterOutputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
b 要寫入的字節(jié)。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

write

public void write(byte[] b, int off, int len) throws IOException

將指定字節(jié)數(shù)組中的 len 個字節(jié)從 offset off 處開始寫入底層輸出流。 如果沒有拋出異常,則寫入的計數(shù)器增加 len。

指定者:

寫入接口DataOutput

覆蓋:

寫在類 FilterOutputStream

參數(shù):

參數(shù)名稱 參數(shù)描述
b 數(shù)據(jù)。
off 數(shù)據(jù)中的起始偏移量。
len 要寫入的字節(jié)數(shù)。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

flush

public void flush() throws IOException

刷新此數(shù)據(jù)輸出流。 這會強制將任何緩沖的輸出字節(jié)寫出到流中。

DataOutputStream 的 flush 方法調(diào)用其底層輸出流的 flush 方法。

指定者:

在接口 Flushable 中刷新

覆蓋:

類 FilterOutputStream 中的刷新

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeBoolean

public final void writeBoolean(boolean v) throws IOException

將布爾值作為 1 字節(jié)值寫入基礎(chǔ)輸出流。 值 true 被寫為值(字節(jié))1; 值 false 被寫為值(字節(jié))0。 如果沒有拋出異常,則寫入的計數(shù)器加 1。

指定者:

接口 DataOutput 中的 writeBoolean

參數(shù):

參數(shù)名稱 參數(shù)描述
v 要寫入的布爾值。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeByte

public final void writeByte(int v) throws IOException

將一個字節(jié)作為 1 字節(jié)值寫入底層輸出流。 如果沒有拋出異常,則寫入的計數(shù)器加 1。

指定者:

接口 DataOutput 中的 writeByte

參數(shù):

參數(shù)名稱 參數(shù)描述
v 要寫入的字節(jié)值。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeShort

public final void writeShort(int v) throws IOException

以兩個字節(jié)的形式將一個短路寫入底層輸出流,先是高字節(jié)。 如果沒有拋出異常,則寫入的計數(shù)器加 2。

指定者:

接口 DataOutput 中的 writeShort

參數(shù):

參數(shù)名稱 參數(shù)描述
v 一個要寫的short。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeChar

public final void writeChar(int v) throws IOException

將 char 作為 2 字節(jié)值寫入底層輸出流,先是高字節(jié)。 如果沒有拋出異常,則寫入的計數(shù)器加 2。

指定者:

接口 DataOutput 中的 writeChar

參數(shù):

參數(shù)名稱 參數(shù)描述
v 要寫入的 char 值。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeInt

public final void writeInt(int v) throws IOException

將一個 int 作為四個字節(jié)寫入底層輸出流,先是高字節(jié)。 如果沒有拋出異常,則寫入的計數(shù)器增加 4。

指定者:

接口 DataOutput 中的 writeInt

參數(shù):

參數(shù)名稱 參數(shù)描述
v 要寫入的 int。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeLong

public final void writeLong(long v) throws IOException

將 long 作為 8 個字節(jié)寫入底層輸出流,先是高字節(jié)。 在不拋出異常的情況下,寫入的計數(shù)器增加 8。

指定者:

接口 DataOutput 中的 writeLong

參數(shù):

參數(shù)名稱 參數(shù)描述
v 要寫一個long。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeFloat

public final void writeFloat(float v) throws IOException

使用 Float 類中的 floatToIntBits 方法將 float 參數(shù)轉(zhuǎn)換為 int,然后將該 int 值作為 4 字節(jié)數(shù)量寫入底層輸出流,先是高字節(jié)。 如果沒有拋出異常,則寫入的計數(shù)器增加 4。

指定者:

接口 DataOutput 中的 writeFloat

參數(shù):

參數(shù)名稱 參數(shù)描述
v 要寫入的浮點值。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeDouble

public final void writeDouble(double v) throws IOException

使用 Double 類中的 doubleToLongBits 方法將 double 參數(shù)轉(zhuǎn)換為 long,然后將該 long 值作為 8 字節(jié)數(shù)量寫入底層輸出流,先是高字節(jié)。 如果沒有拋出異常,則寫入的計數(shù)器加 8。

指定者:

接口 DataOutput 中的 writeDouble

參數(shù):

參數(shù)名稱 參數(shù)描述
v 要寫入的 double 值。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeBytes

public final void writeBytes(String s) throws IOException

將字符串作為字節(jié)序列寫入底層輸出流。 字符串中的每個字符通過丟棄其高八位按順序?qū)懗觥?如果沒有拋出異常,則寫入的計數(shù)器增加 s 的長度。

指定者:

接口 DataOutput 中的 writeBytes

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要寫入的字節(jié)串。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeChars

public final void writeChars(String s) throws IOException

將字符串作為字符序列寫入基礎(chǔ)輸出流。 每個字符都被寫入數(shù)據(jù)輸出流,就像通過 writeChar 方法一樣。 如果沒有拋出異常,則寫入的計數(shù)器增加 s 長度的兩倍。

指定者:

接口 DataOutput 中的 writeChars

參數(shù):

參數(shù)名稱 參數(shù)描述
s 要寫入的字符串值。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

writeUTF

public final void writeUTF(String str) throws IOException

使用修改后的 UTF-8 編碼以與機(jī)器無關(guān)的方式將字符串寫入底層輸出流。

首先,兩個字節(jié)被寫入輸出流,就好像通過 writeShort 方法給出了后面的字節(jié)數(shù)。 這個值是實際寫出的字節(jié)數(shù),而不是字符串的長度。 在長度之后,使用修改后的 UTF-8 字符編碼按順序輸出字符串的每個字符。 如果沒有拋出異常,則寫入的計數(shù)器將增加寫入輸出流的字節(jié)總數(shù)。 這將至少是 str 長度的兩倍,最多是 str 長度的兩倍。

指定者:

接口 DataOutput 中的 writeUTF

參數(shù):

參數(shù)名稱 參數(shù)描述
str 要寫入的字符串。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯誤。

size

public final int size()

返回寫入的計數(shù)器的當(dāng)前值,即到目前為止寫入此數(shù)據(jù)輸出流的字節(jié)數(shù)。 如果計數(shù)器溢出,它將被包裝到 Integer.MAX_VALUE。

返回:

寫入字段的值。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號