ReadByteArray[src]
src のコンテンツをByteArrayオブジェクトとして与える.
ReadByteArray[src,n]
src から最初の n バイトを読む.
ReadByteArray[src,term]
終端条件 term が満足されるまで読む.
ReadByteArray
ReadByteArray[src]
src のコンテンツをByteArrayオブジェクトとして与える.
ReadByteArray[src,n]
src から最初の n バイトを読む.
ReadByteArray[src,term]
終端条件 term が満足されるまで読む.
詳細とオプション
- ReadByteArray[src,…]の src は,"filename"またはFile["filename"]として与えられるファイル,InputStreamのような入力指向ストリーム,あるいは頭部ProcessObjectを持つ外部プロセスでよい.
- ReadByteArray["file",…]とReadByteArray[File["file"],…]は,"file"がまだ開かれていなければ読むためにこれを開く.その場合,デフォルトのターミネータであるEndOfFileが使われているなら,読み終るとファイルは閉じられる.
- 終端条件 term は次のいずれでもよい.
-
n n バイトまで読む ByteArray[…] バイトのリテラル列に遭遇する EndOfBuffer 読込み可能なコンテンツがなくなる EndOfFile ソースの終端に達する(デフォルト) EndOfLine 行末に相当するバイト列 {term1,term2,…} termiのいずれか - 終端条件がバイト列からなる場合,その列は削除され,バイト配列の一部としては返されない.
- ReadByteArray[src]またはReadByteArray[src,EndOfFile]は,現行位置から始めて,ストリームが終るまで,または入力を提供する外部プロセスが終了するまで読む.
- ReadByteArrayがすでに尽きたコンテンツのソースに対して呼ばれた場合は,EndOfFileが返される.
- ReadByteArrayは,デフォルトで,指定されたものが何であれ,それを読むまで何も返さないブロッキング関数である.
- TimeConstraint->t のオプション設定のときは,ReadByteArrayは最大 t 秒待ってからそこまでに読んだものを返す.
- ReadByteArray[src,EndOfBuffer]はブロックせず,入力バッファにあるものを,それが何であれ返す.
例題
すべて開く すべて閉じる例 (2)
ba = ReadByteArray["ExampleData/rose.gif"]バイト配列には,さらに操作するためのファイルのコンテンツが入っている:
ImportByteArray[ba] == Import["ExampleData/rose.gif"]file = CreateFile[];
Export[file, "aαℵ", "Text"];ba = ReadByteArray[file]Normal[ba]ByteArrayToString[ba]スコープ (5)
ba = ReadByteArray["ExampleData/atoms.wxf"]EndOfFileターミネータを明示的に指定してファイルを読み込む:
% == ReadByteArray["ExampleData/atoms.wxf", EndOfFile]BinaryDeserialize[ba]「Alice in Wonderland」(不思議の国のアリス)の本文の最初の行をバイト配列として読み込む:
ba = ReadByteArray["ExampleData/Text/AliceInWonderland.txt", EndOfLine]ByteArrayToString[ba]ReadByteArray["ExampleData/Text/AliceInWonderland.txt", EndOfLine]Close["ExampleData/Text/AliceInWonderland.txt"]ba = ReadByteArray["ExampleData/USConstitution.txt", 70]ByteArrayToString[%]ReadByteArray["ExampleData/USConstitution.txt", {70, EndOfLine}]ReadByteArray["ExampleData/USConstitution.txt", {70, EndOfLine}]Close["ExampleData/USConstitution.txt"]StartProcessを使ってシステムシェルを開く:
process = StartProcess[$SystemShell]ReadByteArray[process, EndOfBuffer]WriteString[process, "echo hello
"];ReadByteArray[process, EndOfBuffer]バイトを文字列に変換すると,それが行末文字を含むことが分かる:
ByteArrayToString[%]WriteString[process, "echo hello
"];ReadByteArray[process, EndOfLine]ByteArrayToString[%]KillProcess[process]socket = SocketConnect["http://exampledata.wolfram.com"]WriteString[socket, "GET /cellularautomaton.gif HTTP/1.0
"]header = StringToByteArray["GIF89"]ReadByteArray[socket, header]ByteArrayToString[%]//ShortReadByteArray[socket]ImportByteArray[Join[header, %], "GIF"]Close[socket]オプション (1)
TimeConstraint (1)
process = StartProcess[$SystemShell]
ReadByteArray[process, EndOfBuffer];5バイト読もうとするが,2秒後にはその時点までに得られたもので戻ることを強制する:
ReadByteArray[process, 5, TimeConstraint -> 2]WriteString[process, "echo hello
"]時間的制約がある中で読もうとする.今回は5バイト読んですぐに戻る:
ReadByteArray[process, EndOfLine, TimeConstraint -> 2]KillProcess[process]特性と関係 (5)
ReadByteArray[src]は,事実上ByteArray[BinaryReadList[src]]に等しい:
ReadByteArray["ExampleData/strings"] == ByteArray[BinaryReadList["ExampleData/strings"]]ReadByteArray[src]は,事実上StringToByteArray[ReadString[src], "ISO8859-1"]に等しい:
ReadByteArray["ExampleData/spikey.tiff"] == StringToByteArray[ReadString["ExampleData/spikey.tiff"], "ISO8859-1"]ReadByteArray[src,n]は一度に n バイト読む:
ba = ReadByteArray["ExampleData/strings", 10]BinaryRead[src]は一度に1バイト読む:
SetStreamPosition["ExampleData/strings", 0];table = Table[BinaryRead["ExampleData/strings"], 10]データはReadByteArrayが読み込むものに等しい:
ByteArray[table] == baClose["ExampleData/strings"];ReadByteArray[src]は,事実上StringToByteArray[Import[src,"String"],"ISO8859-1"]に等しい:
ReadByteArray["ExampleData/strings"] == StringToByteArray[Import["ExampleData/strings", "String"], "ISO8859-1"]ImportByteArray[ReadByteArray[src]]は,事実上Import[src]に等しい:
{ImportByteArray[ReadByteArray["ExampleData/spikey.tiff"]], Import["ExampleData/spikey.tiff"]}関連するガイド
-
▪
- バイナリデータ ▪
- ファイル ▪
- ネットワークプログラミング ▪
- インポートとエキスポート ▪
- 低レベルファイル操作 ▪
- 外部操作 ▪
- ファイル操作 ▪
- 外部プロセスの直接制御
テキスト
Wolfram Research (2018), ReadByteArray, Wolfram言語関数, https://reference.wolfram.com/language/ref/ReadByteArray.html.
CMS
Wolfram Language. 2018. "ReadByteArray." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ReadByteArray.html.
APA
Wolfram Language. (2018). ReadByteArray. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ReadByteArray.html
BibTeX
@misc{reference.wolfram_2026_readbytearray, author="Wolfram Research", title="{ReadByteArray}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/ReadByteArray.html}", note=[Accessed: 06-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_readbytearray, organization={Wolfram Research}, title={ReadByteArray}, year={2018}, url={https://reference.wolfram.com/language/ref/ReadByteArray.html}, note=[Accessed: 06-November-2026]}