fs.go 785 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package logx
  2. import (
  3. "io"
  4. "os"
  5. )
  6. var fileSys realFileSystem
  7. type (
  8. fileSystem interface {
  9. Close(closer io.Closer) error
  10. Copy(writer io.Writer, reader io.Reader) (int64, error)
  11. Create(name string) (*os.File, error)
  12. Open(name string) (*os.File, error)
  13. Remove(name string) error
  14. }
  15. realFileSystem struct{}
  16. )
  17. func (fs realFileSystem) Close(closer io.Closer) error {
  18. return closer.Close()
  19. }
  20. func (fs realFileSystem) Copy(writer io.Writer, reader io.Reader) (int64, error) {
  21. return io.Copy(writer, reader)
  22. }
  23. func (fs realFileSystem) Create(name string) (*os.File, error) {
  24. return os.Create(name)
  25. }
  26. func (fs realFileSystem) Open(name string) (*os.File, error) {
  27. return os.Open(name)
  28. }
  29. func (fs realFileSystem) Remove(name string) error {
  30. return os.Remove(name)
  31. }