...
1
16
17 package util
18
19 import (
20 "io/ioutil"
21 "os"
22 "path/filepath"
23 )
24
25
26 type IoUtil interface {
27 ReadFile(filename string) ([]byte, error)
28 ReadDir(dirname string) ([]os.FileInfo, error)
29 Lstat(name string) (os.FileInfo, error)
30 EvalSymlinks(path string) (string, error)
31 }
32
33 type osIOHandler struct{}
34
35
36 func NewIOHandler() IoUtil {
37 return &osIOHandler{}
38 }
39
40 func (handler *osIOHandler) ReadFile(filename string) ([]byte, error) {
41 return os.ReadFile(filename)
42 }
43 func (handler *osIOHandler) ReadDir(dirname string) ([]os.FileInfo, error) {
44 return ioutil.ReadDir(dirname)
45 }
46 func (handler *osIOHandler) Lstat(name string) (os.FileInfo, error) {
47 return os.Lstat(name)
48 }
49 func (handler *osIOHandler) EvalSymlinks(path string) (string, error) {
50 return filepath.EvalSymlinks(path)
51 }
52
View as plain text