# Packages
Package ioutil implements some I/O utility functions.
# Functions
Copy copies from src to dst until either EOF is reached on src or an error occurs.
CopyBuffer is identical to Copy except that it stages through the provided buffer (if one is required) rather than allocating a temporary one.
CopyN copies n bytes (or until an error) from src to dst.
LimitReader returns a Reader that reads from r but stops with EOF after n bytes.
MultiReader returns a Reader that's the logical concatenation of the provided input readers.
MultiWriter creates a writer that duplicates its writes to all the provided writers, similar to the Unix tee(1) command.
NewSectionReader returns a SectionReader that reads from r starting at offset off and stops with EOF after n bytes.
Pipe creates a synchronous in-memory pipe.
ReadAtLeast reads from r into buf until it has read at least min bytes.
ReadFull reads exactly len(buf) bytes from r into buf.
TeeReader returns a Reader that writes to w what it reads from r.
WriteString writes the contents of the string s to w, which accepts a slice of bytes.
# Constants
seek relative to the current offset.
seek relative to the end.
seek relative to the origin of the file.
# Variables
EOF is the error returned by Read when no more input is available.
ErrClosedPipe is the error used for read or write operations on a closed pipe.
ErrNoProgress is returned by some clients of an io.Reader when many calls to Read have failed to return any data or error, usually the sign of a broken io.Reader implementation.
ErrShortBuffer means that a read required a longer buffer than was provided.
ErrShortWrite means that a write accepted fewer bytes than requested but failed to return an explicit error.
ErrUnexpectedEOF means that EOF was encountered in the middle of reading a fixed-size block or data structure.
# Structs
A LimitedReader reads from R but limits the amount of data returned to just N bytes.
A PipeReader is the read half of a pipe.
A PipeWriter is the write half of a pipe.
SectionReader implements Read, Seek, and ReadAt on a section of an underlying ReaderAt.
# Interfaces
ByteReader is the interface that wraps the ReadByte method.
ByteScanner is the interface that adds the UnreadByte method to the basic ReadByte method.
ByteWriter is the interface that wraps the WriteByte method.
Closer is the interface that wraps the basic Close method.
ReadCloser is the interface that groups the basic Read and Close methods.
Reader is the interface that wraps the basic Read method.
ReaderAt is the interface that wraps the basic ReadAt method.
ReaderFrom is the interface that wraps the ReadFrom method.
ReadSeeker is the interface that groups the basic Read and Seek methods.
ReadWriteCloser is the interface that groups the basic Read, Write and Close methods.
ReadWriter is the interface that groups the basic Read and Write methods.
ReadWriteSeeker is the interface that groups the basic Read, Write and Seek methods.
RuneReader is the interface that wraps the ReadRune method.
RuneScanner is the interface that adds the UnreadRune method to the basic ReadRune method.
Seeker is the interface that wraps the basic Seek method.
StringWriter is the interface that wraps the WriteString method.
WriteCloser is the interface that groups the basic Write and Close methods.
Writer is the interface that wraps the basic Write method.
WriterAt is the interface that wraps the basic WriteAt method.
WriterTo is the interface that wraps the WriteTo method.
WriteSeeker is the interface that groups the basic Write and Seek methods.