Documentation
¶
Index ¶
- Constants
- func NewModule() string
- func SetDefaultFSFactory(factory FileSystemFactory) error
- func SetDefaultOptionsBuilderFactory(f OptionsBuilderFactory)
- type Driver
- type FS
- type FileIO
- type FileInfo
- type FileSystemFactory
- type FlagMaker
- type Location
- type NopReaderPool
- type Options
- type OptionsBuilder
- func (inst *OptionsBuilder) Append(value bool) *OptionsBuilder
- func (inst *OptionsBuilder) Create(value bool) *OptionsBuilder
- func (inst *OptionsBuilder) Dir(value bool) *OptionsBuilder
- func (inst *OptionsBuilder) File(value bool) *OptionsBuilder
- func (inst *OptionsBuilder) FromBegin(value bool) *OptionsBuilder
- func (inst *OptionsBuilder) Mkdirs(value bool) *OptionsBuilder
- func (inst *OptionsBuilder) Options() *Options
- func (inst *OptionsBuilder) Read(value bool) *OptionsBuilder
- func (inst *OptionsBuilder) ResetLength(value bool) *OptionsBuilder
- func (inst *OptionsBuilder) Write(value bool) *OptionsBuilder
- type OptionsBuilderFactory
- type OptionsBuilderV2
- type OptionsHandlerFunc
- type OptionsMaker
- func (inst *OptionsMaker) Append() FlagMaker
- func (inst *OptionsMaker) Create() FlagMaker
- func (inst *OptionsMaker) Excl() FlagMaker
- func (inst *OptionsMaker) Flags() int
- func (inst *OptionsMaker) Mode() fs.FileMode
- func (inst *OptionsMaker) Options() Options
- func (inst *OptionsMaker) ReadOnly() FlagMaker
- func (inst *OptionsMaker) ReadWrite() FlagMaker
- func (inst *OptionsMaker) SetDir(isDir bool) PermissionMaker
- func (inst *OptionsMaker) SetFlags() FlagMaker
- func (inst *OptionsMaker) SetMode(owner, group, other int) PermissionMaker
- func (inst *OptionsMaker) SetPermissions() PermissionMaker
- func (inst *OptionsMaker) Synchronous() FlagMaker
- func (inst *OptionsMaker) Truncate() FlagMaker
- func (inst *OptionsMaker) WriteOnly() FlagMaker
- type Path
- type PathElements
- type PermissionMaker
- type ReadWriteSeekCloser
- type ReaderPool
- type Registration
- type Registry
- type Service
- type URI
- type WantOption
- type WriteSeekCloser
Constants ¶
const ( WantToMakeDir = 0x0001 WantToReadFile = 0x0002 WantToWriteFile = 0x0004 WantToCreateFile = 0x0008 )
定义 WantOption
Variables ¶
This section is empty.
Functions ¶
func SetDefaultFSFactory ¶
func SetDefaultFSFactory(factory FileSystemFactory) error
SetDefaultFSFactory 在调用 Default() 之前,必须设置默认的工厂
func SetDefaultOptionsBuilderFactory ¶ added in v0.9.11
func SetDefaultOptionsBuilderFactory(f OptionsBuilderFactory)
SetDefaultOptionsBuilderFactory 用于设置默认的 OptionsBuilderFactory
Types ¶
type FS ¶
type FS interface { NewPath(path string) Path NewURI(u URI) (Path, error) ListRoots() []Path CreateTempFile(prefix, suffix string, dir Path) (Path, error) // PathSeparator return ';'(windows) | ':'(unix) PathSeparator() string // Separator return '/'(unix) | '\'(windows) Separator() string }
FS 是表示文件系统的接口
type FileIO ¶
type FileIO interface { Path() Path OpenReader(opt *Options) (io.ReadCloser, error) OpenWriter(opt *Options) (io.WriteCloser, error) OpenSeekerR(opt *Options) (io.ReadSeekCloser, error) OpenSeekerW(opt *Options) (WriteSeekCloser, error) OpenSeekerRW(opt *Options) (ReadWriteSeekCloser, error) ReadText(opt *Options) (string, error) WriteText(text string, opt *Options) error WriteBinary(b []byte, opt *Options) error ReadBinary(opt *Options) ([]byte, error) }
FileIO ...
type FileInfo ¶
type FileInfo interface { Path() Path Length() int64 CreatedAt() time.Time UpdatedAt() time.Time AccessedAt() time.Time Mode() fs.FileMode Exists() bool IsFile() bool IsDirectory() bool }
FileInfo ...
type FileSystemFactory ¶
type FileSystemFactory interface {
Create() FS
}
FileSystemFactory 是用来创建 FS 对象的工厂
type Location ¶ added in v0.9.10
type Location struct { Protocol string User string Host string Port int Path string Query map[string]string }
Location 是解析后的 URI 信息
func ParseLocation ¶ added in v0.9.10
ParseLocation 解析 Location
type NopReaderPool ¶
type NopReaderPool struct { }
NopReaderPool ...
func (*NopReaderPool) OpenReader ¶
func (inst *NopReaderPool) OpenReader(file Path, op *Options) (io.ReadSeekCloser, error)
OpenReader ...
type Options ¶
type Options struct { // fill with fs.ModeXXX Permission fs.FileMode // fill with os.O_xxxx Flag int }
Options ...
func ToCreateFile ¶ added in v0.9.3
func ToCreateFile() *Options
[Deprecated] [已废弃]:用 OptionsMaker 代替 ToCreateFile ...
func ToMakeDir ¶ added in v0.9.3
func ToMakeDir() *Options
[Deprecated] [已废弃]:用 OptionsMaker 代替 ToMakeDir ...
func ToReadFile ¶ added in v0.9.3
func ToReadFile() *Options
[Deprecated] [已废弃]:用 OptionsMaker 代替 ToReadFile ...
func ToWriteFile ¶ added in v0.9.3
func ToWriteFile() *Options
[Deprecated] [已废弃]:用 OptionsMaker 代替 ToWriteFile ...
type OptionsBuilder ¶ added in v0.9.4
type OptionsBuilder struct {
// contains filtered or unexported fields
}
[Deprecated] [已废弃]:用 OptionsMaker 代替 OptionsBuilder 用于创建复合的 Options
func (*OptionsBuilder) Append ¶ added in v0.9.4
func (inst *OptionsBuilder) Append(value bool) *OptionsBuilder
Append ...
func (*OptionsBuilder) Create ¶ added in v0.9.4
func (inst *OptionsBuilder) Create(value bool) *OptionsBuilder
Create ...
func (*OptionsBuilder) Dir ¶ added in v0.9.4
func (inst *OptionsBuilder) Dir(value bool) *OptionsBuilder
Dir ...
func (*OptionsBuilder) File ¶ added in v0.9.4
func (inst *OptionsBuilder) File(value bool) *OptionsBuilder
File ...
func (*OptionsBuilder) FromBegin ¶ added in v0.9.4
func (inst *OptionsBuilder) FromBegin(value bool) *OptionsBuilder
FromBegin ...
func (*OptionsBuilder) Mkdirs ¶ added in v0.9.4
func (inst *OptionsBuilder) Mkdirs(value bool) *OptionsBuilder
Mkdirs ...
func (*OptionsBuilder) Options ¶ added in v0.9.4
func (inst *OptionsBuilder) Options() *Options
Options 创建 Options
func (*OptionsBuilder) Read ¶ added in v0.9.4
func (inst *OptionsBuilder) Read(value bool) *OptionsBuilder
Read ...
func (*OptionsBuilder) ResetLength ¶ added in v0.9.4
func (inst *OptionsBuilder) ResetLength(value bool) *OptionsBuilder
ResetLength ...
func (*OptionsBuilder) Write ¶ added in v0.9.4
func (inst *OptionsBuilder) Write(value bool) *OptionsBuilder
Write ...
type OptionsBuilderFactory ¶ added in v0.9.11
type OptionsBuilderFactory interface {
NewBuilder() OptionsBuilderV2
}
[Deprecated] [已废弃]:用 OptionsMaker 代替 OptionsBuilderFactory 用于创建 OptionsBuilderV2
func DefaultOptionsBuilderFactory ¶ added in v0.9.11
func DefaultOptionsBuilderFactory() OptionsBuilderFactory
DefaultOptionsBuilderFactory 用于获取默认的 OptionsBuilderFactory
type OptionsBuilderV2 ¶ added in v0.9.11
type OptionsBuilderV2 interface { SetMode(mode fs.FileMode) OptionsBuilderV2 SetFlag(flag int) OptionsBuilderV2 Create() OptionsBuilderV2 ReadOnly() OptionsBuilderV2 WriteOnly() OptionsBuilderV2 ReadWrite() OptionsBuilderV2 Append() OptionsBuilderV2 Truncate() OptionsBuilderV2 Excl() OptionsBuilderV2 Synchronous() OptionsBuilderV2 Options() *Options }
[Deprecated] [已废弃]:用 OptionsMaker 代替 OptionsBuilderV2 是第二版的 Options-Builder 接口
type OptionsHandlerFunc ¶
type OptionsHandlerFunc func(path string, opt *Options, want WantOption) *Options
OptionsHandlerFunc 函数用于为I/O操作准备选项
type OptionsMaker ¶ added in v0.9.13
type OptionsMaker struct {
// contains filtered or unexported fields
}
func (*OptionsMaker) Append ¶ added in v0.9.13
func (inst *OptionsMaker) Append() FlagMaker
func (*OptionsMaker) Create ¶ added in v0.9.13
func (inst *OptionsMaker) Create() FlagMaker
func (*OptionsMaker) Excl ¶ added in v0.9.13
func (inst *OptionsMaker) Excl() FlagMaker
func (*OptionsMaker) Flags ¶ added in v0.9.13
func (inst *OptionsMaker) Flags() int
func (*OptionsMaker) Mode ¶ added in v0.9.13
func (inst *OptionsMaker) Mode() fs.FileMode
func (*OptionsMaker) Options ¶ added in v0.9.13
func (inst *OptionsMaker) Options() Options
func (*OptionsMaker) ReadOnly ¶ added in v0.9.13
func (inst *OptionsMaker) ReadOnly() FlagMaker
func (*OptionsMaker) ReadWrite ¶ added in v0.9.13
func (inst *OptionsMaker) ReadWrite() FlagMaker
func (*OptionsMaker) SetDir ¶ added in v0.9.13
func (inst *OptionsMaker) SetDir(isDir bool) PermissionMaker
func (*OptionsMaker) SetFlags ¶ added in v0.9.13
func (inst *OptionsMaker) SetFlags() FlagMaker
func (*OptionsMaker) SetMode ¶ added in v0.9.13
func (inst *OptionsMaker) SetMode(owner, group, other int) PermissionMaker
func (*OptionsMaker) SetPermissions ¶ added in v0.9.13
func (inst *OptionsMaker) SetPermissions() PermissionMaker
func (*OptionsMaker) Synchronous ¶ added in v0.9.13
func (inst *OptionsMaker) Synchronous() FlagMaker
func (*OptionsMaker) Truncate ¶ added in v0.9.13
func (inst *OptionsMaker) Truncate() FlagMaker
func (*OptionsMaker) WriteOnly ¶ added in v0.9.13
func (inst *OptionsMaker) WriteOnly() FlagMaker
type Path ¶
type Path interface { Exists() bool IsFile() bool IsDirectory() bool GetName() string GetPath() string GetURI() URI // 获取文件(或目录)的信息,如果已有缓存就直接返回,否则就重新加载 GetInfo() FileInfo // 读取文件(或目录)的信息,如果 reload==true, 则忽略缓存 ReadInfo(reload bool) FileInfo String() string GetFS() FS GetParent() Path GetChild(name string) Path ListNames() []string ListPaths() []string ListChildren() []Path Mkdir(opt *Options) error Mkdirs(opt *Options) error MakeParents(opt *Options) error Chmod(m fs.FileMode) error Chown(uid, gid int) error Delete() error Create(opt *Options) error CreateWithData(data []byte, opt *Options) error CreateWithSource(src io.Reader, opt *Options) error MoveTo(dst Path, opt *Options) error CopyTo(dst Path, opt *Options) error GetIO() FileIO }
Path 是表示绝对路径的接口
type PathElements ¶ added in v0.9.10
type PathElements struct { }
PathElements 提供一组工具函数,用来处理路径中的各个项
func (*PathElements) Resolve ¶ added in v0.9.10
func (inst *PathElements) Resolve(elist []string) ([]string, error)
Resolve 把路径中的特殊元素 (.|..|~|""|等) 处理,输出纯粹的路径
func (*PathElements) Split ¶ added in v0.9.10
func (inst *PathElements) Split(path string) []string
Split 把路径字符串拆分成各个元素
type PermissionMaker ¶ added in v0.9.13
type PermissionMaker interface { Mode() fs.FileMode SetMode(owner, group, other int) PermissionMaker SetDir(isDir bool) PermissionMaker }
type ReadWriteSeekCloser ¶
type ReadWriteSeekCloser interface { io.Closer io.ReadWriteSeeker }
ReadWriteSeekCloser ...
type ReaderPool ¶
type ReaderPool interface { io.Closer Clean() OpenReader(file Path, op *Options) (io.ReadSeekCloser, error) }
ReaderPool ...
type Registration ¶ added in v0.9.7
Registration ...
type Registry ¶ added in v0.9.7
type Registry interface {
Registration() *Registration
}
Registry ...
type WriteSeekCloser ¶
type WriteSeekCloser interface { io.Closer io.WriteSeeker }
WriteSeekCloser ...