Documentation

Overview

    Package ioutil implements I/O utility functions.

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var (
    	ErrShortRead = fmt.Errorf("ioutil: short read")
    	ErrExpectEOF = fmt.Errorf("ioutil: expect EOF")
    )

    Functions

    func NewExactReadCloser

    func NewExactReadCloser(rc io.ReadCloser, totalBytes int64) io.ReadCloser

      NewExactReadCloser returns a ReadCloser that returns errors if the underlying reader does not read back exactly the requested number of bytes.

      func NewLimitedBufferReader

      func NewLimitedBufferReader(r io.Reader, n int) io.Reader

        NewLimitedBufferReader returns a reader that reads from the given reader but limits the amount of data returned to at most n bytes.

        func WriteAndSyncFile

        func WriteAndSyncFile(filename string, data []byte, perm os.FileMode) error

          WriteAndSyncFile behaves just like ioutil.WriteFile in the standard library, but calls Sync before closing the file. WriteAndSyncFile guarantees the data is synced if there is no error returned.

          Types

          type PageWriter

          type PageWriter struct {
          	// contains filtered or unexported fields
          }

            PageWriter implements the io.Writer interface so that writes will either be in page chunks or from flushing.

            func NewPageWriter

            func NewPageWriter(w io.Writer, pageBytes, pageOffset int) *PageWriter

              NewPageWriter creates a new PageWriter. pageBytes is the number of bytes to write per page. pageOffset is the starting offset of io.Writer.

              func (*PageWriter) Flush

              func (pw *PageWriter) Flush() error

                Flush flushes buffered data.

                func (*PageWriter) FlushN

                func (pw *PageWriter) FlushN() (int, error)

                  FlushN flushes buffered data and returns the number of written bytes.

                  func (*PageWriter) Write

                  func (pw *PageWriter) Write(p []byte) (n int, err error)

                  type ReaderAndCloser

                  type ReaderAndCloser struct {
                  	io.Reader
                  	io.Closer
                  }

                    ReaderAndCloser implements io.ReadCloser interface by combining reader and closer together.