summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--file/file.go33
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
+}