Golang : Read binary file into memory
Reading a binary file content into memory for further manipulation is easy with Go. In this tutorial, we will show how to read a binary file into buffer(memory). Go has a standard library package (http://golang.org/pkg/bufio/) to handle this kind of requirement.
The code below will just show you how to read the file content into memory. What you want to do next with the file content is up to you.
readbinaryfile.go
package main
import (
"os"
"bufio"
)
func main() {
file, err := os.Open("binary.dat")
if err != nil {
fmt.Println(err)
return
}
defer file.Close()
info, err := file.Stat()
if err != nil {
return nil, err
}
// calculate the bytes size
var size int64 = info.Size()
bytes := make([]byte, size)
// read into buffer
buffer := bufio.NewReader(file)
_,err = buffer.Read(bytes)
}
Reference :
See also : Golang : Read file with ioutil
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+5.8k List of Golang XML tutorials
+11k Golang : Sieve of Eratosthenes algorithm
+5.6k Golang : Stop goroutine without channel
+10.5k Golang : Meaning of omitempty in struct's field tag
+6.8k Golang : Derive cryptographic key from passwords with Argon2
+7.6k Golang : How to stop user from directly running an executable file?
+15.4k nginx: [emerg] unknown directive "ssl"
+32.6k Golang : Math pow(the power of x^y) example
+19.5k Golang : Get host name or domain name from IP address
+51.5k Golang : Check if item is in slice/array
+5.8k Unix/Linux/MacOSx : Get local IP address
+7k Golang : How to solve "too many .rsrc sections" error?