diff options
Diffstat (limited to 'file')
-rw-r--r-- | file/file.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/file/file.go b/file/file.go new file mode 100644 index 0000000..4267b10 --- /dev/null +++ b/file/file.go @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: ISC +// Copyright © 2021 siddharth <s@ricketyspace.net> + +package file + +import ( + "io" + "os" +) + +func Read(f *os.File) ([]byte, error) { + bs, chunk := make([]byte, 0), make([]byte, 10) + for { + n, err := f.Read(chunk) + if err != nil && err != io.EOF { + return bs, err + } + bs = append(bs, chunk[0:n]...) + + if err == io.EOF { + break + } + } + return bs, nil +} + +func Write(f *os.File, content []byte) error { + n, err := f.Write(content) + if n != len(content) { + return err + } + return nil +} |