Streaming File Content
Understand how to stream file content in Go, including operations such as reading and writing into a stream.
We'll cover the following...
We’ve learned how to read and write in large blocks using os.ReadFile()
and os.WriteFile()
.
This works well when the files are small, which is usually the case when we’re doing DevOps automation. However, sometimes, the files we want to read are very large – in most cases, we wouldn’t want to read a 2 GiB file into memory. In those cases, we want to stream the contents of the file in manageable chunks that we can operate on while keeping memory usage low.
There, we used two streams to copy a file: io.ReadCloser
from the HTTP client and io.WriteCloser
for writing to the local disk. We used the io.Copy()
function to copy from the network file to the disk file.
Go's io
interfaces also allow us to stream files to copy the content, search for content, manipulate input to output, and more.
Stdin
/Stdout
/Stderr
are just files
Throughout this course, we'll write to the console using fmt.Println()
...