ioutil

package
v3.3.21+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 18, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL