import "bufio"

I/Oのバッファリング機能を提供します。
io.Reader・io.Writerをラップし、バッファリングやその他便利な機能を追加します。

パッケージファイル

bufio.go

変数

var (
    ErrInvalidUnreadByte os.Error = &Error{"bufio: invalid use of UnreadByte"};
    ErrBufferFull        os.Error = &Error{"bufio: buffer full"};
)

BufSizeError型

BufSizeErrorはバッファサイズ不正を表すエラーです。

type BufSizeError int

(BufSizeError) String関数

func (b BufSizeError) String() string

Error型

このパッケージで使用されるエラーです。

type Error struct {
    os.ErrorString;
}

ReadWriter

ReadWriterはReaderとWriterのポインタを格納します。
これはio.ReadWriterインタフェースの実装です。

type ReadWriter struct {
    *Reader;
    *Writer;
}

NewReadWriter関数

func NewReadWriter(r *Reader, w *Writer) *ReadWriter

NewReadWriterはrとwを処理する新しいReadWriterを作成します。

Reader型

Readerはio.Readerオブジェクトにバッファリング機能を付加します。

type Reader struct {
    // contains unexported fields
}

NewReader関数

func NewReader(rd io.Reader) *Reader

NewReaderは新しいReaderを返します。バッファサイズはデフォルト値です。

NewReaderSize関数

func NewReaderSize(rd io.Reader, size int) (*Reader, os.Error)

NewReaderSizeは新しいReaderを作成します。
バッファサイズはsizeパラメータで指定したサイズです。sizeはゼロより大きい値を指定してください。
パラメータrdがすでにbufio.Readerで、かつパラメータsizeで指定した以上のバッファを有している場合は、新しいオブジェクトは作らず、渡されたパラメータrdをそのまま返します。
この関数はReaderとエラー情報を返します。

(*Reader) Buffered関数

func (b *Reader) Buffered() int

Bufferedはカレントバッファから読み取り可能なバイト数を返します。

(*Reader) Read関数

func (b *Reader) Read(p []byte) (nn int, err os.Error)

Readはパラメータpにデータを読み込み、読み込んだバイト数を返します。
nnの値がバッファpのサイズより小さいときは、その理由がerrに設定されます。
ファイルの終わりに達したときはnnは0、errにはos.EOFが返ります。

(*Reader) ReadByte関数

func (b *Reader) ReadByte() (c byte, err os.Error)

ReadByteは1バイト読み込み、その値を返します。
読み込むデータがないときはエラーが返ります。

(*Reader) ReadBytes関数

func (b *Reader) ReadBytes(delim byte) (line []byte, err os.Error)

ReadBytesは、パラメータdelimで指定したデリミタが現れるまで読み込みを行い、読み込んだ文字列を返します。返される文字列にはデリミタが含まれます。
デリミタまで読み込む前にエラーが発生したときは、エラーが発生する直前までのデータとエラー情報(多くはos.EOF)を返します。
lineパラメータに返されたデータがデリミタで終了していないときは、必ずerrにエラー情報が設定されます。

(*Reader) ReadRune関数

func (b *Reader) ReadRune() (rune int, size int, err os.Error)

ReadRuneはUTF-8エンコードされたユニコード文字を一文字読み込みruneにセットします。
読み込んだバイト数はsizeにセットされます。

(*Reader) ReadSlice関数

func (b *Reader) ReadSlice(delim byte) (line []byte, err os.Error)

ReadSliceは、パラメータdelimで指定したデリミタが現れるまで読み込みを行い、読み込んだデータをスライスとして返します。返されるスライスは読み込みバッファを参照しているため、次の呼び出しで無効となります。
デリミタまで読み込む前にエラーが発生したときは、エラーが発生する直前までの全データとエラー情報(多くはos.EOF)を返します。
バッファがデリミタを読み込む前にいっぱいになるとErrBufferFullエラーが返ります。
ReadSliceは次回のI/O操作で、今回返されたデータを上書きするため、できるだけReadBytesやReadStringメソッドを代わりに使用してください。
lineパラメータに返されたデータがデリミタで終了していないときは、必ずerrにエラー情報が設定されます。

(*Reader) ReadString関数

func (b *Reader) ReadString(delim byte) (line string, err os.Error)

ReadStringは、パラメータdelimで指定したデリミタが現れるまで読み込みを行い、読み込んだ文字列を返します。返される文字列にはデリミタが含まれます。
デリミタまで読み込む前にエラーが発生したときは、エラーが発生する直前までのデータとエラー情報(多くはos.EOF)を返します。
lineパラメータに返されたデータがデリミタで終了していないときは、必ずerrにエラー情報が設定されます。

(*Reader) UnreadByte関数

func (b *Reader) UnreadByte() os.Error

UnreadByteは、最終バイトを未読み込み状態にします。
一番最後に読み込まれた1バイトだけが未読み込みになります。

Writer型

Writerはio. Writerオブジェクトにバッファリング機能を付加します。

type Writer struct {
    // contains unexported fields
}

NewWriter関数

func NewWriter(wr io.Writer) *Writer

NewWriterは新しいWriterを返します。バッファサイズはデフォルト値です。

NewWriterSize関数

func NewWriterSize(wr io.Writer, size int) (*Writer, os.Error)

NewWriterSizeは新しいWriterを作成します。
バッファサイズはsizeパラメータで指定したサイズです。sizeはゼロより大きい値を指定してください。
パラメータwrがすでにbufio. Writerで、かつパラメータsizeで指定した以上のバッファを有している場合は、新しいオブジェクトは作らず、渡されたパラメータwrをそのまま返します。
この関数はWriterとエラー情報を返します。

(*Writer) Available関数

func (b *Writer) Available() int

Availableはバッファ内の未使用バイト数を返します。

(*Writer) Buffered関数

func (b *Writer) Buffered() int

Bufferedはカレントバッファに書き込まれているバイト数を返します。

(*Writer) Flush関数

func (b *Writer) Flush() os.Error

Flushはラップしているio.Writerへ、バッファリングしているデータを書き込みます。

(*Writer) Write関数

func (b *Writer) Write(p []byte) (nn int, err os.Error)

Writeはパラメータpをバッファに書き込み、書き込んだバイト数を返します。
nnの値がバッファpのサイズより小さいときは、その理由がerrに設定されます。

(*Writer) WriteByte関数

func (b *Writer) WriteByte(c byte) os.Error

WriteByteは1バイトの書き込みを行います。

(*Writer) WriteString関数

func (b *Writer) WriteString(s string) os.Error

WriteStringは文字列を書き込みます。