Large files that are created with the os.Seek() function may have holes in them and occupy fewer disk blocks than files with the same size, but without holes in them; such files are called sparse files. This section will develop a program that creates sparse files.
The Go code of sparse.go will be presented in three parts. The first part is the following:
package main import ( "fmt" "log" "os" "path/filepath" "strconv" )
The second part of sparse.go has the following Go code:
func main() { if len(os.Args) != 3 { fmt.Printf("usage: %s SIZE filename\n", filepath.Base(os.Args[0])) os.Exit(1) } SIZE, _ := strconv.ParseInt(os.Args[1], 10, 64) filename := os.Args[2] _, err := os.Stat(filename) if err == nil { fmt.Printf("...