diff options
Diffstat (limited to 'fileutil.go')
-rw-r--r-- | fileutil.go | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/fileutil.go b/fileutil.go index 80ad02e..2224d7d 100644 --- a/fileutil.go +++ b/fileutil.go @@ -1,6 +1,9 @@ package main -import "os" +import ( + "fmt" + "os" +) func exists(filename string) bool { f, err := os.Open(filename) @@ -10,3 +13,23 @@ func exists(filename string) bool { f.Close() return true } + +func readFile(filename string) ([]byte, error) { + f, err := os.Open(filename) + if err != nil { + return nil, err + } + fi, err := f.Stat() + if err != nil { + return nil, err + } + buf := make([]byte, fi.Size()) + n, err := f.Read(buf) + if err != nil { + return nil, err + } + if n != len(buf) { + return nil, fmt.Errorf("Unexpected file size: %d vs %d", n, len(buf)) + } + return buf, nil +} |