29 lines
406 B
Go
29 lines
406 B
Go
package fs
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
)
|
|
|
|
type FileSystem interface {
|
|
INodeAt(path string) INode
|
|
}
|
|
|
|
type INode interface {
|
|
IsExists() bool
|
|
Stat() (os.FileInfo, error)
|
|
|
|
MakeDirs() error
|
|
RemoveAll() error
|
|
|
|
Parent() INode
|
|
Join(path ...string) INode
|
|
|
|
ReadIntoBytes() ([]byte, error)
|
|
OpenReadStream() (io.ReadCloser, error)
|
|
OpenWriteStream() (io.WriteCloser, error)
|
|
|
|
Name() string
|
|
AbsolutePath() string
|
|
}
|