import "bufio"
I/Oのバッファリング機能を提供します。io.Reader・io.Writerをラップし、別のオブジェクト(ReaderまたはWriter)を作成します。インタフェースは同じままでバッファリングやその他便利な機能を追加します。
パッケージファイル
bufio.go
変数
var (
ErrInvalidUnreadByte os.Error = &Error{"bufio: invalid use of UnreadByte"}
ErrBufferFull os.Error = &Error{"bufio: buffer full"}
ErrNegativeCount os.Error = &Error{"bufio: negative count"}
)
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) Peek関数
func (b *Reader) Peek(n int) ([]byte, os.Error)
Peekは、次のnバイトをreaderを進めることなく返します。byteは次のreadの呼び出しの際に有効でなくなります。Peekが、nバイトより少ないデータを返したときは、その少なくなった理由も返します。nがbのバッファサイズより大きいときは、ErrBufferFullエラーとなります。
(*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 != nilとなります。
(*Reader) ReadRune関数
func (b *Reader) ReadRune() (rune int, size int, err os.Error)
ReadRuneは、UTF-8エンコードされたUnicode文字を一文字読み込み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 != nilとなります。
(*Reader) ReadString関数
func (b *Reader) ReadString(delim byte) (line string, err os.Error)
ReadStringは、パラメータdelimで指定したデリミタが現れるまで読み込みを行い、読み込んだ文字列を返します。返される文字列にはデリミタが含まれます。デリミタまで読み込む前にエラーが発生したときは、エラーが発生する直前までのデータとエラー情報(多くはos.EOF)を返します。lineパラメータに返されたデータがデリミタで終了していないときはerr != nilとなります。
(*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バイトの書き込みを行います。
func (*Writer) WriteRune
func (b *Writer) WriteRune(rune int) (size int, err os.Error)
WriteRuneは、Unicodeコードポイントをひとつ書きこみます。書き込んだバイト数とエラーを返します。
(*Writer) WriteString関数
func (b *Writer) WriteString(s string) (int, os.Error)
WriteStringは文字列を書き込みます。書き込んだバイト数とエラーを返します。返されたバイト数がlen(s)未満のときは、書き込みバイト数が足りなかった理由がエラーとして返ります。
Trackback URL
Comments