...

/

Streaming File Content

Streaming File Content

Understand how to stream file content in Go, including operations such as reading and writing into a stream.

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() ...