日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

接口 DataOutput

發(fā)布時(shí)間:2023/12/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口 DataOutput 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java.io
接口 DataOutput

所有已知子接口:
ImageOutputStream, ObjectOutput
所有已知實(shí)現(xiàn)類(lèi):
DataOutputStream, FileCacheImageOutputStream, FileImageOutputStream, ImageOutputStreamImpl, MemoryCacheImageOutputStream, ObjectOutputStream, RandomAccessFile

public interface DataOutput

DataOutput 接口用于將數(shù)據(jù)從任意 Java 基本類(lèi)型轉(zhuǎn)換為一系列字節(jié),并將這些字節(jié)寫(xiě)入二進(jìn)制流。同時(shí)還提供了一個(gè)將 String 轉(zhuǎn)換成 UTF-8 修改版格式并寫(xiě)入所得到的系列字節(jié)的工具。

對(duì)于此接口中寫(xiě)入字節(jié)的所有方法,如果由于某種原因無(wú)法寫(xiě)入某個(gè)字節(jié),則拋出 IOException。

?

從以下版本開(kāi)始:
JDK1.0
?
方法摘要
?voidwrite(byte[]?b)
??????????將數(shù)組 b 中的所有字節(jié)寫(xiě)入輸出流。
?voidwrite(byte[]?b, int?off, int?len)
??????????將數(shù)組 b 中的 len 個(gè)字節(jié)按順序?qū)懭胼敵隽鳌?/td>
?voidwrite(int?b)
??????????將參數(shù) b 的八個(gè)低位寫(xiě)入輸出流。
?voidwriteBoolean(boolean?v)
??????????將一個(gè) boolean 值寫(xiě)入輸出流。
?voidwriteByte(int?v)
??????????將參數(shù) v 的八個(gè)低位寫(xiě)入輸出流。
?voidwriteBytes(String?s)
??????????將一個(gè)字符串的每個(gè)字符的八個(gè)低位寫(xiě)入輸出流。
?voidwriteChar(int?v)
??????????將一個(gè) char 值寫(xiě)入輸出流,該值由兩個(gè)字節(jié)組成。
?voidwriteChars(String?s)
??????????將字符串 s 中的所有字符按順序?qū)懭胼敵隽?#xff0c;每個(gè)字符用兩個(gè)字節(jié)表示。
?voidwriteDouble(double?v)
??????????將一個(gè) double 值寫(xiě)入輸出流,該值由八個(gè)字節(jié)組成。
?voidwriteFloat(float?v)
??????????將一個(gè) float 值寫(xiě)入輸出流,該值由四個(gè)字節(jié)組成。
?voidwriteInt(int?v)
??????????將一個(gè) int 值寫(xiě)入輸出流,該值由四個(gè)字節(jié)組成。
?voidwriteLong(long?v)
??????????將一個(gè) long 值寫(xiě)入輸出流,該值由八個(gè)字節(jié)組成。
?voidwriteShort(int?v)
??????????將兩個(gè)字節(jié)寫(xiě)入輸出流,用它們表示參數(shù)值。
?voidwriteUTF(String?s)
??????????將表示長(zhǎng)度信息的兩個(gè)字節(jié)寫(xiě)入輸出流,后跟字符串 s 中每個(gè)字符的 UTF-8 修改版表示形式。

?

方法詳細(xì)信息

write

void write(int?b)throws IOException
將參數(shù) b 的八個(gè)低位寫(xiě)入輸出流。忽略 b 的 24 個(gè)高位。

?

參數(shù):
b - 要寫(xiě)入的字節(jié)。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

write

void write(byte[]?b)throws IOException
將數(shù)組 b 中的所有字節(jié)寫(xiě)入輸出流。如果 b 為 null,則拋出 NullPointerException。如果 b.length 為零,則不寫(xiě)入字節(jié)。否則,首先寫(xiě)入字節(jié) b[0],然后寫(xiě)入字節(jié) b[1],依此類(lèi)推;最后一個(gè)寫(xiě)入字節(jié)是 b[b.length-1]。

?

參數(shù):
b - 數(shù)據(jù)。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

write

void write(byte[]?b,int?off,int?len)throws IOException
將數(shù)組 b 中的 len 個(gè)字節(jié)按順序?qū)懭胼敵隽鳌?span style="color: #993300">如果 b 為 null,則拋出 NullPointerException。如果 off 為負(fù),或 len 為負(fù),抑或 off+len 大于數(shù)組 b 的長(zhǎng)度,則拋出 IndexOutOfBoundsException。如果 len 為零,則不寫(xiě)入字節(jié)。否則,首先寫(xiě)入字節(jié) b[off],然后寫(xiě)入字節(jié) b[off+1],依此類(lèi)推;最后一個(gè)寫(xiě)入字節(jié)是 b[off+len-1]。

?

參數(shù):
b - 數(shù)據(jù)。
off - 數(shù)據(jù)中的起始偏移量。
len - 要寫(xiě)入的字節(jié)數(shù)。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeBoolean

void writeBoolean(boolean?v)throws IOException
將一個(gè) boolean 值寫(xiě)入輸出流。如果參數(shù) v 為 true,則寫(xiě)入值 (byte)1;如果 v 為 false,則寫(xiě)入值 (byte)0。此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readBoolean 方法讀取,然后該方法將返回一個(gè)等于 v 的 boolean 值。

?

參數(shù):
v - 要寫(xiě)入的 boolean 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeByte

void writeByte(int?v)throws IOException
將參數(shù) v 的八個(gè)低位寫(xiě)入輸出流忽略 v 的 24 個(gè)高位。(這意味著 writeByte 的作用與使用整數(shù)做參數(shù)的 write 完全相同。)此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readByte 方法讀取,然后該方法將返回一個(gè)等于 (byte)v 的 byte 值。

?

參數(shù):
v - 要寫(xiě)入的字節(jié)值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeShort

void writeShort(int?v)throws IOException
將兩個(gè)字節(jié)寫(xiě)入輸出流,用它們表示參數(shù)值。要寫(xiě)入的字節(jié)值(按順序顯示)是: (byte)(0xff & (v >> 8))(byte)(0xff & v)

此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readShort 方法讀取,然后該方法將返回一個(gè)等于 (short)v 的 short 值。

?

參數(shù):
v - 要寫(xiě)入的 short 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeChar

void writeChar(int?v)throws IOException
將一個(gè) char 值寫(xiě)入輸出流,該值由兩個(gè)字節(jié)組成。要寫(xiě)入的字節(jié)值(按順序顯示)是: (byte)(0xff & (v >> 8))(byte)(0xff & v)

此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readChar 方法讀取,然后該方法將返回一個(gè)等于 (char)v 的 char 值。

?

參數(shù):
v - 要寫(xiě)入的 char 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeInt

void writeInt(int?v)throws IOException
將一個(gè) int 值寫(xiě)入輸出流,該值由四個(gè)字節(jié)組成。要寫(xiě)入的字節(jié)值(按順序顯示)是: (byte)(0xff & (v >> 24))(byte)(0xff & (v >> 16))(byte)(0xff & (v >> 8))(byte)(0xff & v)

此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readInt 方法讀取,然后該方法將返回一個(gè)等于 v 的 int 值。

?

參數(shù):
v - 要寫(xiě)入的 int 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeLong

void writeLong(long?v)throws IOException
將一個(gè) long 值寫(xiě)入輸出流,該值由八個(gè)字節(jié)組成。要寫(xiě)入的字節(jié)值(按順序顯示)是: (byte)(0xff & (v >> 56))(byte)(0xff & (v >> 48))(byte)(0xff & (v >> 40))(byte)(0xff & (v >> 32))(byte)(0xff & (v >> 24))(byte)(0xff & (v >> 16))(byte)(0xff & (v >> 8))(byte)(0xff & v)

此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readLong 方法讀取,然后該方法將返回一個(gè)等于 v 的 long 值。

?

參數(shù):
v - 要寫(xiě)入的 long 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeFloat

void writeFloat(float?v)throws IOException
將一個(gè) float 值寫(xiě)入輸出流,該值由四個(gè)字節(jié)組成。實(shí)現(xiàn)這一點(diǎn)的方式是:首先使用與 Float.floatToIntBits 方法完全相同的方式將此 float 值轉(zhuǎn)換為一個(gè) int 值,然后使用與 writeInt 方法完全相同的方式寫(xiě)入該 int 值。此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readFloat 方法讀取,然后該方法將返回一個(gè)等于 v 的 float 值。

?

參數(shù):
v - 要寫(xiě)入的 float 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeDouble

void writeDouble(double?v)throws IOException
將一個(gè) double 值寫(xiě)入輸出流,該值由八個(gè)字節(jié)組成。實(shí)現(xiàn)這一點(diǎn)的方式是:首先使用與 Double.doubleToLongBits 方法相同的方式將此 double 值轉(zhuǎn)換為一個(gè) long 值,然后使用與 writeLong 方法完全相同的方式寫(xiě)入該 long 值。此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readDouble 方法讀取,然后該方法將返回一個(gè)等于 v 的 double 值。

?

參數(shù):
v - 要寫(xiě)入的 double 值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeBytes

void writeBytes(String?s)throws IOException
將一個(gè)字符串寫(xiě)入輸出流。字符串 s 中的每一個(gè)字符被依次寫(xiě)入輸出流,每個(gè)字符用一個(gè)字節(jié)表示。如果 s 為 null,則拋出 NullPointerException。

如果 s.length 為零,則不寫(xiě)入字節(jié)。否則,首先寫(xiě)入字符 s[0],然后寫(xiě)入字符 s[1],依此類(lèi)推;最后一個(gè)寫(xiě)入字符是 s[s.length-1]。使用與 writeByte 方法完全相同的方法為每個(gè)字符寫(xiě)入一個(gè)低位字節(jié)。忽略字符串中每個(gè)字符的八個(gè)高位

?

參數(shù):
s - 要寫(xiě)入的字節(jié)字符串。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeChars

void writeChars(String?s)throws IOException
將字符串 s 中的所有字符按順序?qū)懭胼敵隽?#xff0c;每個(gè)字符用兩個(gè)字節(jié)表示。如果 s 為 null,則拋出 NullPointerException。如果 s.length 為零,則不寫(xiě)入字符。否則,首先寫(xiě)入字符 s[0],然后寫(xiě)入字符 s[1],依此類(lèi)推;最后一個(gè)寫(xiě)入字符是 s[s.length-1]。使用與 writeChar 方法完全相同的方法為每個(gè)字符實(shí)際寫(xiě)入兩個(gè)字節(jié),先使用高位字節(jié)

?

參數(shù):
s - 要寫(xiě)入的字符串值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

writeUTF

void writeUTF(String?s)throws IOException
將表示長(zhǎng)度信息的兩個(gè)字節(jié)寫(xiě)入輸出流,后跟字符串 s 中每個(gè)字符的 UTF-8 修改版表示形式如果 s 為 null,則拋出 NullPointerException。根據(jù)字符的值,將字符串 s 中每個(gè)字符轉(zhuǎn)換成一個(gè)字節(jié)、兩個(gè)字節(jié)或三個(gè)字節(jié)的字節(jié)組。

如果字符 c 在 \u0001 到 \u007f 的范圍內(nèi),則用一個(gè)字節(jié)表示:

(byte)c

如果字符 c 是 \u0000 或者它在 \u0080 到 \u07ff 的范圍內(nèi),則用兩個(gè)字節(jié)表示,寫(xiě)入順序如下:

(byte)(0xc0 | (0x1f & (c >> 6)))(byte)(0x80 | (0x3f & c))

如果字符 c 在 \u0800 到 \uffff 的范圍內(nèi),則用三個(gè)字節(jié)表示,寫(xiě)入順序如下:

(byte)(0xe0 | (0x0f & (c >> 12)))(byte)(0x80 | (0x3f & (c >> 6)))(byte)(0x80 | (0x3f & c))

首先,要計(jì)算表示 s 中所有字符所需的字節(jié)總數(shù)。如果總數(shù)大于 65535,則拋出 UTFDataFormatException。否則,使用與 writeShort 方法完全相同的方式將此長(zhǎng)度寫(xiě)入輸出流,然后寫(xiě)入字符串 s 中所有字符的 1 字節(jié)、2 字節(jié)或 3 字節(jié)表示形式。

此方法寫(xiě)入的字節(jié)可由 DataInput 接口的 readUTF 方法讀取,然后該方法將返回一個(gè)等于 s 的 String 值。

?

參數(shù):
s - 要寫(xiě)入的字符串值。
拋出:
IOException - 如果發(fā)生 I/O 錯(cuò)誤。

?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的接口 DataOutput的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。