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 ...