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は文字列を書き込みます。
Trackback URL
Leave a comment
Comments