當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Julia IOBuffer用法及代碼示例


用法一

IOBuffer([data::AbstractVector{UInt8}]; keywords...) -> IOBuffer

創建一個內存 I/O 流,它可以選擇性地對預先存在的數組進行操作。

它可能需要可選的關鍵字參數:

  • read , write , append :限製對緩衝區的操作;有關詳細信息,請參閱open
  • truncate :將緩衝區大小截斷為零長度。
  • maxsize :指定緩衝區不能增長的大小。
  • sizehint :建議緩衝區的容量( data 必須實現 sizehint!(data, size) )。

如果沒有給出data,則默認情況下緩衝區是可讀可寫的。

例子

julia> io = IOBuffer();

julia> write(io, "JuliaLang is a GitHub organization.", " It has many members.")
56

julia> String(take!(io))
"JuliaLang is a GitHub organization. It has many members."

julia> io = IOBuffer(b"JuliaLang is a GitHub organization.")
IOBuffer(data=UInt8[...], readable=true, writable=false, seekable=true, append=false, size=35, maxsize=Inf, ptr=1, mark=-1)

julia> read(io, String)
"JuliaLang is a GitHub organization."

julia> write(io, "This isn't writable.")
ERROR: ArgumentError: ensureroom failed, IOBuffer is not writeable

julia> io = IOBuffer(UInt8[], read=true, write=true, maxsize=34)
IOBuffer(data=UInt8[...], readable=true, writable=true, seekable=true, append=false, size=0, maxsize=34, ptr=1, mark=-1)

julia> write(io, "JuliaLang is a GitHub organization.")
34

julia> String(take!(io))
"JuliaLang is a GitHub organization"

julia> length(read(IOBuffer(b"data", read=true, truncate=false)))
4

julia> length(read(IOBuffer(b"data", read=true, truncate=true)))
0

用法二

IOBuffer(string::String)

在給定字符串基礎的數據上創建隻讀IOBuffer

例子

julia> io = IOBuffer("Haho");

julia> String(take!(io))
"Haho"

julia> String(take!(io))
"Haho"

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 Base.IOBuffer — Type。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。