Documentation ¶
Index ¶
- Constants
- Variables
- func DirExists(fs Afero, path string) (bool, error)
- func Exists(fs Afero, path string) (bool, error)
- func FileContainsAnyBytes(fs Afero, filename string, subslices [][]byte) (bool, error)
- func FileContainsBytes(fs Afero, filename string, subslice []byte) (bool, error)
- func FullBaseFsPath(basePathFs *BasePathFs, relativePath string) string
- func GetTempDir(fs Afero, subPath string) string
- func Glob(fs Afero, pattern string) (matches []string, err error)
- func IsDir(fs Afero, path string) (bool, error)
- func IsEmpty(fs Afero, path string) (bool, error)
- func ListFileNamesRecursively(fs Afero, rootDir string) ([]string, error)
- func NeuterAccents(s string) string
- func ReadAll(r io.Reader) ([]byte, error)
- func ReadDir(fs Afero, dirname string) ([]os.FileInfo, error)
- func ReadFile(fs Afero, filename string) ([]byte, error)
- func SafeWriteReader(fs Afero, path string, r io.Reader) (err error)
- func TempDir(fs Afero, dir, prefix string) (name string, err error)
- func UnicodeSanitize(s string) string
- func Walk(fs Afero, root string, walkFn filepath.WalkFunc) error
- func WriteFile(fs Afero, filename string, data []byte, perm os.FileMode) error
- func WriteReader(fs Afero, path string, r io.Reader) (err error)
- type Afero
- func NewBasePathFs(source Afero, path string) Afero
- func NewCacheOnReadFs(base Afero, layer Afero, cacheTime time.Duration) Afero
- func NewCopyOnWriteFs(base Afero, layer Afero) Afero
- func NewMemMapFs() Afero
- func NewOsFs() Afero
- func NewReadOnlyFs(source Afero) Afero
- func NewRegexpFs(source Afero, re *regexp.Regexp) Afero
- type BasePathFile
- type BasePathFs
- func (b *BasePathFs) Chmod(name string, mode os.FileMode) (err error)
- func (b *BasePathFs) Chown(name string, uid, gid int) (err error)
- func (b *BasePathFs) Chtimes(name string, atime, mtime time.Time) (err error)
- func (b *BasePathFs) Create(name string) (f File, err error)
- func (b *BasePathFs) LstatIfPossible(name string) (os.FileInfo, bool, error)
- func (b *BasePathFs) Mkdir(name string, mode os.FileMode) (err error)
- func (b *BasePathFs) MkdirAll(name string, mode os.FileMode) (err error)
- func (b *BasePathFs) Name() string
- func (b *BasePathFs) Open(name string) (f File, err error)
- func (b *BasePathFs) OpenFile(name string, flag int, mode os.FileMode) (f File, err error)
- func (b *BasePathFs) ReadlinkIfPossible(name string) (string, error)
- func (b *BasePathFs) RealPath(name string) (path string, err error)
- func (b *BasePathFs) Remove(name string) (err error)
- func (b *BasePathFs) RemoveAll(name string) (err error)
- func (b *BasePathFs) Rename(oldname, newname string) (err error)
- func (b *BasePathFs) Stat(name string) (fi os.FileInfo, err error)
- func (b *BasePathFs) SymlinkIfPossible(oldname, newname string) error
- type CacheOnReadFs
- func (u *CacheOnReadFs) Chmod(name string, mode os.FileMode) error
- func (u *CacheOnReadFs) Chown(name string, uid, gid int) error
- func (u *CacheOnReadFs) Chtimes(name string, atime, mtime time.Time) error
- func (u *CacheOnReadFs) Create(name string) (File, error)
- func (u *CacheOnReadFs) Mkdir(name string, perm os.FileMode) error
- func (u *CacheOnReadFs) MkdirAll(name string, perm os.FileMode) error
- func (u *CacheOnReadFs) Name() string
- func (u *CacheOnReadFs) Open(name string) (File, error)
- func (u *CacheOnReadFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (u *CacheOnReadFs) Remove(name string) error
- func (u *CacheOnReadFs) RemoveAll(name string) error
- func (u *CacheOnReadFs) Rename(oldname, newname string) error
- func (u *CacheOnReadFs) Stat(name string) (os.FileInfo, error)
- type CopyOnWriteFs
- func (u *CopyOnWriteFs) Chmod(name string, mode os.FileMode) error
- func (u *CopyOnWriteFs) Chown(name string, uid, gid int) error
- func (u *CopyOnWriteFs) Chtimes(name string, atime, mtime time.Time) error
- func (u *CopyOnWriteFs) Create(name string) (File, error)
- func (u *CopyOnWriteFs) LstatIfPossible(name string) (os.FileInfo, bool, error)
- func (u *CopyOnWriteFs) Mkdir(name string, perm os.FileMode) error
- func (u *CopyOnWriteFs) MkdirAll(name string, perm os.FileMode) error
- func (u *CopyOnWriteFs) Name() string
- func (u *CopyOnWriteFs) Open(name string) (File, error)
- func (u *CopyOnWriteFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (u *CopyOnWriteFs) ReadlinkIfPossible(name string) (string, error)
- func (u *CopyOnWriteFs) Remove(name string) error
- func (u *CopyOnWriteFs) RemoveAll(name string) error
- func (u *CopyOnWriteFs) Rename(oldname, newname string) error
- func (u *CopyOnWriteFs) Stat(name string) (os.FileInfo, error)
- func (u *CopyOnWriteFs) SymlinkIfPossible(oldname, newname string) error
- type DirsMerger
- type File
- type FromIOFS
- func (f FromIOFS) Chmod(name string, mode os.FileMode) error
- func (f FromIOFS) Chown(name string, uid, gid int) error
- func (f FromIOFS) Chtimes(name string, atime, mtime time.Time) error
- func (f FromIOFS) Create(name string) (File, error)
- func (f FromIOFS) Mkdir(name string, perm os.FileMode) error
- func (f FromIOFS) MkdirAll(path string, perm os.FileMode) error
- func (f FromIOFS) Name() string
- func (f FromIOFS) Open(name string) (File, error)
- func (f FromIOFS) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (f FromIOFS) Remove(name string) error
- func (f FromIOFS) RemoveAll(path string) error
- func (f FromIOFS) Rename(oldname, newname string) error
- func (f FromIOFS) Stat(name string) (os.FileInfo, error)
- type HttpFs
- func (h HttpFs) Chmod(name string, mode os.FileMode) error
- func (h HttpFs) Chown(name string, uid, gid int) error
- func (h HttpFs) Chtimes(name string, atime, mtime time.Time) error
- func (h HttpFs) Create(name string) (File, error)
- func (h HttpFs) Dir(s string) *httpDir
- func (h HttpFs) Mkdir(name string, perm os.FileMode) error
- func (h HttpFs) MkdirAll(path string, perm os.FileMode) error
- func (h HttpFs) Name() string
- func (h HttpFs) Open(name string) (http.File, error)
- func (h HttpFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (h HttpFs) Remove(name string) error
- func (h HttpFs) RemoveAll(path string) error
- func (h HttpFs) Rename(oldname, newname string) error
- func (h HttpFs) Stat(name string) (os.FileInfo, error)
- type IOFS
- type LinkReader
- type Linker
- type Lstater
- type MemMapFs
- func (m *MemMapFs) Chmod(name string, mode os.FileMode) error
- func (m *MemMapFs) Chown(name string, uid, gid int) error
- func (m *MemMapFs) Chtimes(name string, atime time.Time, mtime time.Time) error
- func (m *MemMapFs) Create(name string) (File, error)
- func (m *MemMapFs) List()
- func (m *MemMapFs) LstatIfPossible(name string) (os.FileInfo, bool, error)
- func (m *MemMapFs) Mkdir(name string, perm os.FileMode) error
- func (m *MemMapFs) MkdirAll(path string, perm os.FileMode) error
- func (*MemMapFs) Name() string
- func (m *MemMapFs) Open(name string) (File, error)
- func (m *MemMapFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (m *MemMapFs) Remove(name string) error
- func (m *MemMapFs) RemoveAll(path string) error
- func (m *MemMapFs) Rename(oldname, newname string) error
- func (m *MemMapFs) Stat(name string) (os.FileInfo, error)
- type OsFs
- func (OsFs) Chmod(name string, mode os.FileMode) error
- func (OsFs) Chown(name string, uid, gid int) error
- func (OsFs) Chtimes(name string, atime time.Time, mtime time.Time) error
- func (OsFs) Create(name string) (File, error)
- func (OsFs) LstatIfPossible(name string) (os.FileInfo, bool, error)
- func (OsFs) Mkdir(name string, perm os.FileMode) error
- func (OsFs) MkdirAll(path string, perm os.FileMode) error
- func (OsFs) Name() string
- func (OsFs) Open(name string) (File, error)
- func (OsFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (OsFs) ReadlinkIfPossible(name string) (string, error)
- func (OsFs) Remove(name string) error
- func (OsFs) RemoveAll(path string) error
- func (OsFs) Rename(oldname, newname string) error
- func (OsFs) Stat(name string) (os.FileInfo, error)
- func (OsFs) SymlinkIfPossible(oldname, newname string) error
- type ReadOnlyFs
- func (r *ReadOnlyFs) Chmod(n string, m os.FileMode) error
- func (r *ReadOnlyFs) Chown(n string, uid, gid int) error
- func (r *ReadOnlyFs) Chtimes(n string, a, m time.Time) error
- func (r *ReadOnlyFs) Create(n string) (File, error)
- func (r *ReadOnlyFs) LstatIfPossible(name string) (os.FileInfo, bool, error)
- func (r *ReadOnlyFs) Mkdir(n string, p os.FileMode) error
- func (r *ReadOnlyFs) MkdirAll(n string, p os.FileMode) error
- func (r *ReadOnlyFs) Name() string
- func (r *ReadOnlyFs) Open(n string) (File, error)
- func (r *ReadOnlyFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (r *ReadOnlyFs) ReadDir(name string) ([]os.FileInfo, error)
- func (r *ReadOnlyFs) ReadlinkIfPossible(name string) (string, error)
- func (r *ReadOnlyFs) Remove(n string) error
- func (r *ReadOnlyFs) RemoveAll(p string) error
- func (r *ReadOnlyFs) Rename(o, n string) error
- func (r *ReadOnlyFs) Stat(name string) (os.FileInfo, error)
- func (r *ReadOnlyFs) SymlinkIfPossible(oldname, newname string) error
- type RegexpFile
- func (f *RegexpFile) Close() error
- func (f *RegexpFile) Name() string
- func (f *RegexpFile) Read(s []byte) (int, error)
- func (f *RegexpFile) ReadAt(s []byte, o int64) (int, error)
- func (f *RegexpFile) Readdir(c int) (fi []os.FileInfo, err error)
- func (f *RegexpFile) Readdirnames(c int) (n []string, err error)
- func (f *RegexpFile) Seek(o int64, w int) (int64, error)
- func (f *RegexpFile) Stat() (os.FileInfo, error)
- func (f *RegexpFile) Sync() error
- func (f *RegexpFile) Truncate(s int64) error
- func (f *RegexpFile) Write(s []byte) (int, error)
- func (f *RegexpFile) WriteAt(s []byte, o int64) (int, error)
- func (f *RegexpFile) WriteString(s string) (int, error)
- type RegexpFs
- func (r *RegexpFs) Chmod(name string, mode os.FileMode) error
- func (r *RegexpFs) Chown(name string, uid, gid int) error
- func (r *RegexpFs) Chtimes(name string, a, m time.Time) error
- func (r *RegexpFs) Create(name string) (File, error)
- func (r *RegexpFs) Mkdir(n string, p os.FileMode) error
- func (r *RegexpFs) MkdirAll(n string, p os.FileMode) error
- func (r *RegexpFs) Name() string
- func (r *RegexpFs) Open(name string) (File, error)
- func (r *RegexpFs) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (r *RegexpFs) Remove(name string) error
- func (r *RegexpFs) RemoveAll(p string) error
- func (r *RegexpFs) Rename(oldname, newname string) error
- func (r *RegexpFs) Stat(name string) (os.FileInfo, error)
- type Symlinker
- type UnionFile
- func (f *UnionFile) Close() error
- func (f *UnionFile) Name() string
- func (f *UnionFile) Read(s []byte) (int, error)
- func (f *UnionFile) ReadAt(s []byte, o int64) (int, error)
- func (f *UnionFile) Readdir(c int) (ofi []os.FileInfo, err error)
- func (f *UnionFile) Readdirnames(c int) ([]string, error)
- func (f *UnionFile) Seek(o int64, w int) (pos int64, err error)
- func (f *UnionFile) Stat() (os.FileInfo, error)
- func (f *UnionFile) Sync() (err error)
- func (f *UnionFile) Truncate(s int64) (err error)
- func (f *UnionFile) Write(s []byte) (n int, err error)
- func (f *UnionFile) WriteAt(s []byte, o int64) (n int, err error)
- func (f *UnionFile) WriteString(s string) (n int, err error)
Constants ¶
const BADFD = syscall.EBADF
const FilePathSeparator = string(filepath.Separator)
FilePathSeparator 是文件路径分隔符,由 os.Separator 定义。
Variables ¶
var ( ErrFileClosed = errors.New("文件已关闭") ErrOutOfRange = errors.New("超出范围") ErrTooLarge = errors.New("文件太大") ErrFileNotFound = os.ErrNotExist // 文件不存在 ErrFileExists = os.ErrExist // 文件已存在 ErrDestinationExists = os.ErrExist // 目标已存在 )
常见错误定义
var ErrNoReadlink = errors.New("readlink not supported")
ErrNoReadlink 是当文件系统不支持读取符号链接操作时,会在 os.PathError 中包装的错误。 通过支持 LinkReader 接口表达。
var ErrNoSymlink = errors.New("symlink not supported")
ErrNoSymlink 是当文件系统不支持符号链接时,会在 os.LinkError 中包装的错误。 通过支持 Linker 接口表达。
Functions ¶
func DirExists ¶
DirExists 检查路径是否存在并且是一个目录。 参数:
- fs: Afero 文件系统
- path: string 路径
返回值:
- bool: 是否存在并且是目录
- error: 错误信息
func FileContainsAnyBytes ¶
FileContainsAnyBytes 检查文件是否包含任意一个指定的字节切片 参数:
- fs: Afero 文件系统
- filename: string 文件名
- subslices: [][]byte 字节切片数组
返回值:
- bool: 是否包含
- error: 错误信息
func FileContainsBytes ¶
FileContainsBytes 检查文件是否包含指定的字节切片 参数:
- fs: Afero 文件系统
- filename: string 文件名
- subslice: []byte 字节切片
返回值:
- bool: 是否包含
- error: 错误信息
func FullBaseFsPath ¶
func FullBaseFsPath(basePathFs *BasePathFs, relativePath string) string
FullBaseFsPath 获取完整的基础文件系统路径。 参数:
- basePathFs: *BasePathFs 基础路径文件系统
- relativePath: string 相对路径
返回值:
- string: 完整路径
func GetTempDir ¶
GetTempDir 返回默认的临时目录,并带有尾部斜杠 如果 subPath 不为空,则递归创建该路径,权限为 777 (rwx rwx rwx) 参数:
- fs: Afero 文件系统
- subPath: string 子路径
返回值:
- string: 临时目录路径
func Glob ¶
Glob 返回所有与模式匹配的文件名,如果没有匹配的文件则返回 nil。 模式的语法与 Match 中的相同。模式可以描述分层名称,例如 /usr/*/bin/ed (假设路径分隔符是 '/')。
Glob 忽略读取目录时的文件系统错误,如 I/O 错误。 唯一可能返回的错误是 ErrBadPattern,当模式格式错误时。
该函数改编自 http://golang.org/pkg/path/filepath 并使用了该包中的多个内建函数。
func IsEmpty ¶
IsEmpty 检查给定文件或目录是否为空。 参数:
- fs: Afero 文件系统
- path: string 路径
返回值:
- bool: 是否为空
- error: 错误信息
func ListFileNamesRecursively ¶ added in v1.0.0
ListFileNamesRecursively 列出指定目录及其所有子目录中的文件名 参数:
- fs: Afero 文件系统
- rootDir: string 根目录路径
返回值:
- []string: 文件名列表
- error: 错误信息
func ReadAll ¶
ReadAll 从 r 读取直到遇到错误或 EOF,并返回读取的数据 参数:
- r: io.Reader 读取器
返回值:
- []byte: 读取的数据
- error: 错误信息
func ReadDir ¶
ReadDir 读取指定目录的内容并返回排序后的目录条目列表 参数:
- fs: Afero 文件系统
- dirname: string 目录名
返回值:
- []os.FileInfo: 目录条目列表
- error: 错误信息
func ReadFile ¶
ReadFile 读取指定文件的内容并返回 参数:
- fs: Afero 文件系统
- filename: string 文件名
返回值:
- []byte: 文件内容
- error: 错误信息
func SafeWriteReader ¶
SafeWriteReader 将读取器的内容安全地写入文件,检查文件是否已存在 参数:
- fs: Afero 文件系统
- path: string 文件路径
- r: io.Reader 读取器
返回值:
- error: 错误信息
func TempDir ¶
TempDir 在指定目录中创建一个新的临时目录 参数:
- fs: Afero 文件系统
- dir: string 目录路径
- prefix: string 目录名前缀
返回值:
- string: 目录路径
- error: 错误信息
func Walk ¶
Walk 遍历根目录为 root 的文件树,调用 walkFn 函数处理树中的每个文件或目录,包括根目录。 参数:
- fs: Afero 文件系统
- root: string 根目录
- walkFn: filepath.WalkFunc 处理函数
返回值:
- error: 错误信息
Types ¶
type Afero ¶
type Afero interface { // Create 在文件系统中创建一个文件,返回文件和错误信息(如果有) Create(name string) (File, error) // Mkdir 在文件系统中创建一个目录,如果有错误则返回错误信息 Mkdir(name string, perm os.FileMode) error // MkdirAll 创建一个目录路径及所有不存在的父目录 MkdirAll(path string, perm os.FileMode) error // Open 打开一个文件,返回文件或错误信息(如果有) Open(name string) (File, error) // OpenFile 使用给定的标志和模式打开一个文件 OpenFile(name string, flag int, perm os.FileMode) (File, error) // Remove 删除一个文件,通过名称标识,返回错误信息(如果有) Remove(name string) error // RemoveAll 删除一个目录路径及其包含的任何子目录。如果路径不存在,则不返回错误(返回nil) RemoveAll(path string) error // Rename 重命名一个文件 Rename(oldname, newname string) error // Stat 返回描述指定文件的 FileInfo 或错误信息(如果有) Stat(name string) (os.FileInfo, error) // 返回此文件系统的名称 Name() string // Chmod 更改指定文件的模式 Chmod(name string, mode os.FileMode) error // Chown 更改指定文件的 uid 和 gid Chown(name string, uid, gid int) error // Chtimes 更改指定文件的访问和修改时间 Chtimes(name string, atime time.Time, mtime time.Time) error }
Afero 是文件系统接口
任何模拟或真实的文件系统都应实现此接口
func NewBasePathFs ¶
NewBasePathFs 创建一个新的 BasePathFs 参数:
- source: Fs 基础文件系统
- path: string 基本路径
返回值:
- Fs: 新的 BasePathFs
func NewCacheOnReadFs ¶
NewCacheOnReadFs 创建一个新的 CacheOnReadFs 参数:
- base: Fs 基础文件系统
- layer: Fs 缓存层文件系统
- cacheTime: time.Duration 缓存时间
返回值:
- Fs: 新的 CacheOnReadFs
func NewCopyOnWriteFs ¶
NewCopyOnWriteFs 创建一个新的 CopyOnWriteFs 参数:
- base: Afero 基础文件系统
- layer: Afero 覆盖层文件系统
返回值:
- Afero: 新的 CopyOnWriteFs
type BasePathFile ¶
type BasePathFile struct { File // contains filtered or unexported fields }
BasePathFile 表示文件系统中的文件
type BasePathFs ¶
type BasePathFs struct {
// contains filtered or unexported fields
}
BasePathFs 限制所有操作到一个给定的路径内。 传递给该文件系统的文件名将在调用基础文件系统之前添加基本路径。 任何在基本路径外的文件名(在 filepath.Clean() 之后)将被视为不存在的文件。
注意,它不会清理返回的错误消息,因此错误可能会暴露真实路径。
func (*BasePathFs) Chmod ¶
func (b *BasePathFs) Chmod(name string, mode os.FileMode) (err error)
Chmod 更改指定文件的模式 参数:
- name: string 文件名
- mode: os.FileMode 文件模式
返回值:
- error: 错误信息
func (*BasePathFs) Chown ¶
func (b *BasePathFs) Chown(name string, uid, gid int) (err error)
Chown 更改指定文件的 uid 和 gid 参数:
- name: string 文件名
- uid: int 用户ID
- gid: int 组ID
返回值:
- error: 错误信息
func (*BasePathFs) Chtimes ¶
func (b *BasePathFs) Chtimes(name string, atime, mtime time.Time) (err error)
Chtimes 更改指定文件的访问和修改时间 参数:
- name: string 文件名
- atime: time.Time 访问时间
- mtime: time.Time 修改时间
返回值:
- error: 错误信息
func (*BasePathFs) Create ¶
func (b *BasePathFs) Create(name string) (f File, err error)
Create 创建一个新文件 参数:
- name: string 文件名
返回值:
- File: 文件对象
- error: 错误信息
func (*BasePathFs) LstatIfPossible ¶
LstatIfPossible 返回文件信息和一个布尔值,指示是否使用了 Lstat 参数:
- name: string 文件名
返回值:
- os.FileInfo: 文件信息
- bool: 是否使用了 Lstat
- error: 错误信息
func (*BasePathFs) Mkdir ¶
func (b *BasePathFs) Mkdir(name string, mode os.FileMode) (err error)
Mkdir 创建指定目录 参数:
- name: string 目录名
- mode: os.FileMode 目录模式
返回值:
- error: 错误信息
func (*BasePathFs) MkdirAll ¶
func (b *BasePathFs) MkdirAll(name string, mode os.FileMode) (err error)
MkdirAll 创建指定路径及其所有父目录 参数:
- name: string 路径名
- mode: os.FileMode 目录模式
返回值:
- error: 错误信息
func (*BasePathFs) Open ¶
func (b *BasePathFs) Open(name string) (f File, err error)
Open 打开指定文件 参数:
- name: string 文件名
返回值:
- File: 文件对象
- error: 错误信息
func (*BasePathFs) OpenFile ¶
OpenFile 打开文件,支持指定标志和模式 参数:
- name: string 文件名
- flag: int 打开标志
- mode: os.FileMode 文件模式
返回值:
- File: 文件对象
- error: 错误信息
func (*BasePathFs) ReadlinkIfPossible ¶
func (b *BasePathFs) ReadlinkIfPossible(name string) (string, error)
ReadlinkIfPossible 读取符号链接(如果可能) 参数:
- name: string 文件名
返回值:
- string: 符号链接路径
- error: 错误信息
func (*BasePathFs) RealPath ¶
func (b *BasePathFs) RealPath(name string) (path string, err error)
RealPath 返回文件的真实路径,如果文件在基本路径外,则返回错误 参数:
- name: string 文件名
返回值:
- string: 真实路径
- error: 错误信息
func (*BasePathFs) Remove ¶
func (b *BasePathFs) Remove(name string) (err error)
Remove 删除指定文件 参数:
- name: string 文件名
返回值:
- error: 错误信息
func (*BasePathFs) RemoveAll ¶
func (b *BasePathFs) RemoveAll(name string) (err error)
RemoveAll 删除指定路径及其包含的所有子目录 参数:
- name: string 路径名
返回值:
- error: 错误信息
func (*BasePathFs) Rename ¶
func (b *BasePathFs) Rename(oldname, newname string) (err error)
Rename 重命名文件 参数:
- oldname: string 旧文件名
- newname: string 新文件名
返回值:
- error: 错误信息
func (*BasePathFs) Stat ¶
func (b *BasePathFs) Stat(name string) (fi os.FileInfo, err error)
Stat 返回指定文件的文件信息 参数:
- name: string 文件名
返回值:
- os.FileInfo: 文件信息
- error: 错误信息
func (*BasePathFs) SymlinkIfPossible ¶
func (b *BasePathFs) SymlinkIfPossible(oldname, newname string) error
SymlinkIfPossible 创建符号链接(如果可能) 参数:
- oldname: string 旧文件名
- newname: string 新文件名
返回值:
- error: 错误信息
type CacheOnReadFs ¶
type CacheOnReadFs struct {
// contains filtered or unexported fields
}
此缓存联合将所有写调用也转发到基础文件系统。 为防止写入基础文件系统,请将其包装在只读过滤器中。 注意:这也会使覆盖层变为只读,要在覆盖层中写入文件,请直接使用覆盖文件系统,而不是通过联合文件系统。
func (*CacheOnReadFs) Chmod ¶
func (u *CacheOnReadFs) Chmod(name string, mode os.FileMode) error
Chmod 更改指定文件的模式 参数:
- name: string 文件名
- mode: os.FileMode 文件模式
返回值:
- error: 错误信息
func (*CacheOnReadFs) Chown ¶
func (u *CacheOnReadFs) Chown(name string, uid, gid int) error
Chown 更改指定文件的 uid 和 gid 参数:
- name: string 文件名
- uid: int 用户ID
- gid: int 组ID
返回值:
- error: 错误信息
func (*CacheOnReadFs) Chtimes ¶
func (u *CacheOnReadFs) Chtimes(name string, atime, mtime time.Time) error
Chtimes 更改指定文件的访问和修改时间 参数:
- name: string 文件名
- atime: time.Time 访问时间
- mtime: time.Time 修改时间
返回值:
- error: 错误信息
func (*CacheOnReadFs) Create ¶
func (u *CacheOnReadFs) Create(name string) (File, error)
Create 创建一个新文件 参数:
- name: string 文件名
返回值:
- File: 文件对象
- error: 错误信息
func (*CacheOnReadFs) Mkdir ¶
func (u *CacheOnReadFs) Mkdir(name string, perm os.FileMode) error
Mkdir 创建指定目录 参数:
- name: string 目录名
- perm: os.FileMode 目录权限
返回值:
- error: 错误信息
func (*CacheOnReadFs) MkdirAll ¶
func (u *CacheOnReadFs) MkdirAll(name string, perm os.FileMode) error
MkdirAll 创建指定路径及其所有父目录 参数:
- name: string 路径名
- perm: os.FileMode 目录权限
返回值:
- error: 错误信息
func (*CacheOnReadFs) Name ¶
func (u *CacheOnReadFs) Name() string
Name 返回文件系统的名称 返回值:
- string: 文件系统名称
func (*CacheOnReadFs) Open ¶
func (u *CacheOnReadFs) Open(name string) (File, error)
Open 打开指定文件 参数:
- name: string 文件名
返回值:
- File: 文件对象
- error: 错误信息
func (*CacheOnReadFs) OpenFile ¶
OpenFile 打开文件,支持指定标志和模式 参数:
- name: string 文件名
- flag: int 文件标志
- perm: os.FileMode 文件模式
返回值:
- File: 文件对象
- error: 错误信息
func (*CacheOnReadFs) Remove ¶
func (u *CacheOnReadFs) Remove(name string) error
Remove 删除指定文件 参数:
- name: string 文件名
返回值:
- error: 错误信息
func (*CacheOnReadFs) RemoveAll ¶
func (u *CacheOnReadFs) RemoveAll(name string) error
RemoveAll 删除指定路径及其包含的所有子目录 参数:
- name: string 路径名
返回值:
- error: 错误信息
func (*CacheOnReadFs) Rename ¶
func (u *CacheOnReadFs) Rename(oldname, newname string) error
Rename 重命名文件 参数:
- oldname: string 旧文件名
- newname: string 新文件名
返回值:
- error: 错误信息
type CopyOnWriteFs ¶
type CopyOnWriteFs struct {
// contains filtered or unexported fields
}
CopyOnWriteFs 是一个联合文件系统:一个只读的基础文件系统, 在其上可能有一个可写的层。对文件系统的更改只会在覆盖层中进行: 更改基础层中存在但覆盖层中不存在的文件会将文件复制到覆盖层 (“更改”包括调用例如 Chtimes()、Chmod() 和 Chown() 等函数)。
读取目录当前仅通过 Open() 支持,而不是 OpenFile()。
func (*CopyOnWriteFs) Chmod ¶
func (u *CopyOnWriteFs) Chmod(name string, mode os.FileMode) error
Chmod 更改指定文件的模式 参数:
- name: string 文件名
- mode: os.FileMode 文件模式
返回值:
- error: 错误信息
func (*CopyOnWriteFs) Chown ¶
func (u *CopyOnWriteFs) Chown(name string, uid, gid int) error
Chown 更改指定文件的 uid 和 gid 参数:
- name: string 文件名
- uid: int 用户ID
- gid: int 组ID
返回值:
- error: 错误信息
func (*CopyOnWriteFs) Chtimes ¶
func (u *CopyOnWriteFs) Chtimes(name string, atime, mtime time.Time) error
Chtimes 更改指定文件的访问和修改时间 参数:
- name: string 文件名
- atime: time.Time 访问时间
- mtime: time.Time 修改时间
返回值:
- error: 错误信息
func (*CopyOnWriteFs) Create ¶
func (u *CopyOnWriteFs) Create(name string) (File, error)
Create 创建新文件。 参数:
- name: string 文件名。
返回值:
- File: 新创建的文件。
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) LstatIfPossible ¶
LstatIfPossible 返回文件的信息和一个布尔值,指示是否使用了 Lstat 参数:
- name: string 文件名
返回值:
- os.FileInfo: 文件信息
- bool: 是否使用了 Lstat
- error: 错误信息
func (*CopyOnWriteFs) Mkdir ¶
func (u *CopyOnWriteFs) Mkdir(name string, perm os.FileMode) error
Mkdir 创建目录。 参数:
- name: string 目录名。
- perm: os.FileMode 目录权限。
返回值:
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) MkdirAll ¶
func (u *CopyOnWriteFs) MkdirAll(name string, perm os.FileMode) error
MkdirAll 创建目录及其所有父目录。 参数:
- name: string 目录名。
- perm: os.FileMode 目录权限。
返回值:
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) Name ¶
func (u *CopyOnWriteFs) Name() string
Name 返回文件系统的名称。 返回值:
- string: 文件系统名称。
func (*CopyOnWriteFs) Open ¶
func (u *CopyOnWriteFs) Open(name string) (File, error)
Open 打开文件或目录。 参数:
- name: string 文件或目录名。
返回值:
- File: 打开的文件或目录。
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) OpenFile ¶
OpenFile 打开文件。如果文件存在于基础层且需要写操作,则复制到覆盖层。 参数:
- name: string 文件名。
- flag: int 打开文件的标志。
- perm: os.FileMode 文件权限。
返回值:
- File: 打开的文件。
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) ReadlinkIfPossible ¶
func (u *CopyOnWriteFs) ReadlinkIfPossible(name string) (string, error)
ReadlinkIfPossible 尝试读取符号链接。 参数:
- name: string 符号链接的路径。
返回值:
- string: 符号链接指向的路径。
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) Remove ¶
func (u *CopyOnWriteFs) Remove(name string) error
Remove 删除文件。如果文件仅存在于基础层,则不允许删除。 参数:
- name: string 文件名。
返回值:
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) RemoveAll ¶
func (u *CopyOnWriteFs) RemoveAll(name string) error
RemoveAll 删除目录及其内容。如果目录仅存在于基础层,则不允许删除。 参数:
- name: string 目录名。
返回值:
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) Rename ¶
func (u *CopyOnWriteFs) Rename(oldname, newname string) error
Rename 重命名文件。如果文件仅存在于基础层,则不允许重命名。 参数:
- oldname: string 旧文件名。
- newname: string 新文件名。
返回值:
- error: 如果发生错误,返回错误信息。
func (*CopyOnWriteFs) Stat ¶
func (u *CopyOnWriteFs) Stat(name string) (os.FileInfo, error)
Stat 返回指定文件的文件信息 参数:
- name: string 文件名
返回值:
- os.FileInfo: 文件信息
- error: 错误信息
func (*CopyOnWriteFs) SymlinkIfPossible ¶
func (u *CopyOnWriteFs) SymlinkIfPossible(oldname, newname string) error
SymlinkIfPossible 创建符号链接(如果可能) 参数:
- oldname: string 旧文件名
- newname: string 新文件名
返回值:
- error: 错误信息
type DirsMerger ¶
DirsMerger 是 UnionFile 如何将两个目录组合在一起的方法。 它获取来自覆盖层和基础层的 FileInfo 切片,并返回一个单一视图。
type File ¶
type File interface { // Close 关闭文件 io.Closer // Read 从文件中读取数据 io.Reader // ReadAt 从文件的指定位置读取数据 io.ReaderAt // Seek 设置文件的偏移量,用于下次读写操作 io.Seeker // Write 向文件中写入数据 io.Writer // WriteAt 向文件的指定位置写入数据 io.WriterAt // Name 返回文件的名称 Name() string // Readdir 读取目录的内容,返回文件信息列表 // count 参数指定读取的文件数量,若为负数,则读取所有文件 Readdir(count int) ([]os.FileInfo, error) // Readdirnames 读取目录的内容,返回文件名称列表 // n 参数指定读取的文件名称数量,若为负数,则读取所有文件名称 Readdirnames(n int) ([]string, error) // Stat 返回文件的文件信息 Stat() (os.FileInfo, error) // Sync 将文件的内容同步到存储设备 Sync() error // Truncate 改变文件的大小 // 若文件变大,则新增部分内容未定义;若变小,则多余部分被丢弃 Truncate(size int64) error // WriteString 向文件中写入字符串 // 返回写入的字节数和可能出现的错误 WriteString(s string) (ret int, err error) }
File 表示文件系统中的一个文件 该接口包含了多种操作文件的方法
type FromIOFS ¶
FromIOFS 采用 io/fs.FS 并将其作为 afero.Fs 使用 注意 io/fs.FS 是只读的,因此所有变更方法将返回 fs.PathError 和 fs.ErrPermission 错误 要存储修改,可以使用 afero.CopyOnWriteFs
func (FromIOFS) Chown ¶
Chown 更改文件的所有者 参数:
- name: string 文件名
- uid: int 用户 ID
- gid: int 组 ID
返回值:
- error: 错误信息
func (FromIOFS) Chtimes ¶
Chtimes 更改文件的访问和修改时间 参数:
- name: string 文件名
- atime: time.Time 访问时间
- mtime: time.Time 修改时间
返回值:
- error: 错误信息
func (FromIOFS) MkdirAll ¶
MkdirAll 创建目录及其所有父目录 参数:
- path: string 路径名
- perm: os.FileMode 目录权限
返回值:
- error: 错误信息
func (FromIOFS) OpenFile ¶
OpenFile 打开文件,支持指定标志和模式 参数:
- name: string 文件名
- flag: int 文件标志
- perm: os.FileMode 文件模式
返回值:
- File: 文件对象
- error: 错误信息
type HttpFs ¶
type HttpFs struct {
// contains filtered or unexported fields
}
HttpFs 结构体表示一个 HTTP 文件系统
func (HttpFs) Chown ¶
Chown 更改文件的所有者 参数:
- name: string 文件名
- uid: int 用户 ID
- gid: int 组 ID
返回值:
- error: 错误信息
func (HttpFs) Chtimes ¶
Chtimes 更改文件的访问和修改时间 参数:
- name: string 文件名
- atime: time.Time 访问时间
- mtime: time.Time 修改时间
返回值:
- error: 错误信息
func (HttpFs) MkdirAll ¶
MkdirAll 创建目录及其所有父目录 参数:
- path: string 路径名
- perm: os.FileMode 目录权限
返回值:
- error: 错误信息
func (HttpFs) OpenFile ¶
OpenFile 打开文件,支持指定标志和模式 参数:
- name: string 文件名
- flag: int 文件标志
- perm: os.FileMode 文件模式
返回值:
- File: 文件对象
- error: 错误信息
type IOFS ¶
type IOFS struct {
Afero // 内嵌的 afero.Fs 接口
}
IOFS 采用 afero.Fs 并适配为标准库的 io/fs.FS 接口
type LinkReader ¶
type LinkReader interface { // ReadlinkIfPossible 读取符号链接(如果可能) // 参数: // - name: string 文件名 // 返回值: // - string: 符号链接的目标路径 // - error: 错误信息 ReadlinkIfPossible(name string) (string, error) }
LinkReader 是 Afero 中的一个可选接口。只有声明支持该接口的文件系统才会实现它。 该接口表示支持 Readlink 方法。
type Linker ¶
type Linker interface { // SymlinkIfPossible 创建符号链接(如果可能) // 参数: // - oldname: string 旧文件名 // - newname: string 新文件名 // 返回值: // - error: 错误信息 SymlinkIfPossible(oldname, newname string) error }
Linker 是 Afero 中的一个可选接口。只有声明支持该接口的文件系统才会实现它。 如果文件系统本身是或委托给 os 文件系统,或者文件系统以其他方式支持 Symlink, 它将调用 Symlink 方法。
type Lstater ¶
type Lstater interface { // LstatIfPossible 尽可能调用 Lstat 方法 // 参数: // - name: string 文件名 // 返回值: // - os.FileInfo: 文件信息 // - bool: 是否调用了 Lstat // - error: 错误信息 LstatIfPossible(name string) (os.FileInfo, bool, error) }
Lstater 是 Afero 中的一个可选接口。只有声明支持该接口的文件系统才会实现它。 如果文件系统本身是或委托给 os 文件系统,它将调用 Lstat。 否则,它将调用 Stat。 除了返回 FileInfo,它还会返回一个布尔值,表示是否调用了 Lstat。
type MemMapFs ¶
type MemMapFs struct {
// contains filtered or unexported fields
}
MemMapFs 是一个内存映射文件系统的实现
func (*MemMapFs) Chown ¶
Chown 更改文件所有者 参数:
- name: string 文件名
- uid: int 用户 ID
- gid: int 组 ID
返回值:
- error: 错误信息
func (*MemMapFs) Chtimes ¶
Chtimes 更改文件访问和修改时间 参数:
- name: string 文件名
- atime: time.Time 访问时间
- mtime: time.Time 修改时间
返回值:
- error: 错误信息
func (*MemMapFs) LstatIfPossible ¶
LstatIfPossible 获取文件信息(尽可能调用 Lstat) 参数:
- name: string 文件名
返回值:
- os.FileInfo: 文件信息
- bool: 是否调用了 Lstat
- error: 错误信息
func (*MemMapFs) MkdirAll ¶
MkdirAll 创建目录及其所有父目录 参数:
- path: string 目录路径
- perm: os.FileMode 目录权限
返回值:
- error: 错误信息
func (*MemMapFs) OpenFile ¶
OpenFile 打开文件,支持指定标志和模式 参数:
- name: string 文件名
- flag: int 文件标志
- perm: os.FileMode 文件权限
返回值:
- File: 文件对象
- error: 错误信息
type OsFs ¶
type OsFs struct{}
OsFs 是一个使用 os 包提供的函数实现的文件系统接口 有关各方法的详细信息,请查看 os 包的文档 (http://golang.org/pkg/os/)。
func (OsFs) Chown ¶
Chown 更改文件的所有者 参数:
- name: string 文件名
- uid: int 用户 ID
- gid: int 组 ID
返回值:
- error: 错误信息
func (OsFs) Chtimes ¶
Chtimes 更改文件的访问和修改时间 参数:
- name: string 文件名
- atime: time.Time 访问时间
- mtime: time.Time 修改时间
返回值:
- error: 错误信息
func (OsFs) LstatIfPossible ¶
LstatIfPossible 尽可能调用 Lstat 方法 参数:
- name: string 文件名
返回值:
- os.FileInfo: 文件信息
- bool: 是否调用了 Lstat
- error: 错误信息
func (OsFs) MkdirAll ¶
MkdirAll 创建目录及其所有父目录 参数:
- path: string 路径名
- perm: os.FileMode 目录权限
返回值:
- error: 错误信息
func (OsFs) OpenFile ¶
OpenFile 打开文件,支持指定标志和模式 参数:
- name: string 文件名
- flag: int 文件标志
- perm: os.FileMode 文件权限
返回值:
- File: 文件对象
- error: 错误信息
func (OsFs) ReadlinkIfPossible ¶
ReadlinkIfPossible 读取符号链接(如果可能) 参数:
- name: string 文件名
返回值:
- string: 符号链接的目标路径
- error: 错误信息
func (OsFs) SymlinkIfPossible ¶
SymlinkIfPossible 创建符号链接(如果可能) 参数:
- oldname: string 旧文件名
- newname: string 新文件名
返回值:
- error: 错误信息
type ReadOnlyFs ¶
type ReadOnlyFs struct {
// contains filtered or unexported fields
}
ReadOnlyFs 是一个只读文件系统的实现
func (*ReadOnlyFs) Chmod ¶
func (r *ReadOnlyFs) Chmod(n string, m os.FileMode) error
Chmod 更改文件模式 参数:
- n: string 文件名
- m: os.FileMode 文件模式
返回值:
- error: 错误信息
func (*ReadOnlyFs) Chown ¶
func (r *ReadOnlyFs) Chown(n string, uid, gid int) error
Chown 更改文件的所有者 参数:
- n: string 文件名
- uid: int 用户 ID
- gid: int 组 ID
返回值:
- error: 错误信息
func (*ReadOnlyFs) Chtimes ¶
func (r *ReadOnlyFs) Chtimes(n string, a, m time.Time) error
Chtimes 更改文件的访问和修改时间 参数:
- n: string 文件名
- a: time.Time 访问时间
- m: time.Time 修改时间
返回值:
- error: 错误信息
func (*ReadOnlyFs) Create ¶
func (r *ReadOnlyFs) Create(n string) (File, error)
Create 创建一个新文件 参数:
- n: string 文件名
返回值:
- File: 文件对象
- error: 错误信息
func (*ReadOnlyFs) LstatIfPossible ¶
LstatIfPossible 尽可能调用 Lstat 方法 参数:
- name: string 文件名
返回值:
- os.FileInfo: 文件信息
- bool: 是否调用了 Lstat
- error: 错误信息
func (*ReadOnlyFs) Mkdir ¶
func (r *ReadOnlyFs) Mkdir(n string, p os.FileMode) error
Mkdir 创建目录 参数:
- n: string 目录名
- p: os.FileMode 目录权限
返回值:
- error: 错误信息
func (*ReadOnlyFs) MkdirAll ¶
func (r *ReadOnlyFs) MkdirAll(n string, p os.FileMode) error
MkdirAll 创建目录及其所有父目录 参数:
- n: string 路径名
- p: os.FileMode 目录权限
返回值:
- error: 错误信息
func (*ReadOnlyFs) Open ¶
func (r *ReadOnlyFs) Open(n string) (File, error)
Open 打开指定名称的文件 参数:
- n: string 文件名
返回值:
- File: 文件对象
- error: 错误信息
func (*ReadOnlyFs) OpenFile ¶
OpenFile 打开文件,支持指定标志和模式 参数:
- name: string 文件名
- flag: int 文件标志
- perm: os.FileMode 文件权限
返回值:
- File: 文件对象
- error: 错误信息
func (*ReadOnlyFs) ReadDir ¶
func (r *ReadOnlyFs) ReadDir(name string) ([]os.FileInfo, error)
ReadDir 读取目录内容 参数:
- name: string 目录名
返回值:
- []os.FileInfo: 目录条目列表
- error: 错误信息
func (*ReadOnlyFs) ReadlinkIfPossible ¶
func (r *ReadOnlyFs) ReadlinkIfPossible(name string) (string, error)
ReadlinkIfPossible 读取符号链接(如果可能) 参数:
- name: string 文件名
返回值:
- string: 符号链接的目标路径
- error: 错误信息
func (*ReadOnlyFs) Remove ¶
func (r *ReadOnlyFs) Remove(n string) error
Remove 删除指定文件 参数:
- n: string 文件名
返回值:
- error: 错误信息
func (*ReadOnlyFs) RemoveAll ¶
func (r *ReadOnlyFs) RemoveAll(p string) error
RemoveAll 删除指定路径及其包含的所有子目录 参数:
- p: string 路径名
返回值:
- error: 错误信息
func (*ReadOnlyFs) Rename ¶
func (r *ReadOnlyFs) Rename(o, n string) error
Rename 重命名文件 参数:
- o: string 旧文件名
- n: string 新文件名
返回值:
- error: 错误信息
func (*ReadOnlyFs) Stat ¶
func (r *ReadOnlyFs) Stat(name string) (os.FileInfo, error)
Stat 返回文件的信息 参数:
- name: string 文件名
返回值:
- os.FileInfo: 文件信息
- error: 错误信息
func (*ReadOnlyFs) SymlinkIfPossible ¶
func (r *ReadOnlyFs) SymlinkIfPossible(oldname, newname string) error
SymlinkIfPossible 创建符号链接(如果可能) 参数:
- oldname: string 旧文件名
- newname: string 新文件名
返回值:
- error: 错误信息
type RegexpFile ¶
type RegexpFile struct {
// contains filtered or unexported fields
}
RegexpFile 代表一个正则表达式过滤的文件
func (*RegexpFile) Read ¶
func (f *RegexpFile) Read(s []byte) (int, error)
Read 读取文件 参数:
- s: []byte 缓冲区
返回值:
- int: 读取的字节数
- error: 错误信息
func (*RegexpFile) ReadAt ¶
func (f *RegexpFile) ReadAt(s []byte, o int64) (int, error)
ReadAt 从指定偏移量读取文件 参数:
- s: []byte 缓冲区
- o: int64 偏移量
返回值:
- int: 读取的字节数
- error: 错误信息
func (*RegexpFile) Readdir ¶
func (f *RegexpFile) Readdir(c int) (fi []os.FileInfo, err error)
Readdir 读取目录中的文件信息 参数:
- c: int 读取的文件数
返回值:
- []os.FileInfo: 文件信息列表
- error: 错误信息
func (*RegexpFile) Readdirnames ¶
func (f *RegexpFile) Readdirnames(c int) (n []string, err error)
Readdirnames 读取目录中的文件名 参数:
- c: int 读取的文件数
返回值:
- []string: 文件名列表
- error: 错误信息
func (*RegexpFile) Seek ¶
func (f *RegexpFile) Seek(o int64, w int) (int64, error)
Seek 设置文件指针的位置 参数:
- o: int64 偏移量
- w: int 起始位置
返回值:
- int64: 新的文件指针位置
- error: 错误信息
func (*RegexpFile) Stat ¶
func (f *RegexpFile) Stat() (os.FileInfo, error)
Stat 获取文件信息 返回值:
- os.FileInfo: 文件信息
- error: 错误信息
func (*RegexpFile) Truncate ¶
func (f *RegexpFile) Truncate(s int64) error
Truncate 截断文件 参数:
- s: int64 新的文件大小
返回值:
- error: 错误信息
func (*RegexpFile) Write ¶
func (f *RegexpFile) Write(s []byte) (int, error)
Write 写入文件 参数:
- s: []byte 缓冲区
返回值:
- int: 写入的字节数
- error: 错误信息
func (*RegexpFile) WriteAt ¶
func (f *RegexpFile) WriteAt(s []byte, o int64) (int, error)
WriteAt 从指定偏移量写入文件 参数:
- s: []byte 缓冲区
- o: int64 偏移量
返回值:
- int: 写入的字节数
- error: 错误信息
func (*RegexpFile) WriteString ¶
func (f *RegexpFile) WriteString(s string) (int, error)
WriteString 写入字符串到文件 参数:
- s: string 字符串
返回值:
- int: 写入的字节数
- error: 错误信息
type RegexpFs ¶
type RegexpFs struct {
// contains filtered or unexported fields
}
RegexpFs 通过正则表达式过滤文件(不包括目录)。只有匹配给定正则表达式的文件才会被允许, 其他所有文件都会返回 ENOENT 错误("没有这样的文件或目录")。
func (*RegexpFs) Chown ¶
Chown 更改文件所有者 参数:
- name: string 文件名
- uid: int 用户ID
- gid: int 组ID
返回值:
- error: 错误信息
func (*RegexpFs) Chtimes ¶
Chtimes 更改文件访问和修改时间 参数:
- name: string 文件名
- a: time.Time 访问时间
- m: time.Time 修改时间
返回值:
- error: 错误信息
func (*RegexpFs) MkdirAll ¶
MkdirAll 创建目录及其所有父目录 参数:
- n: string 目录名
- p: os.FileMode 目录权限
返回值:
- error: 错误信息
func (*RegexpFs) OpenFile ¶
OpenFile 打开文件,支持指定标志和模式 参数:
- name: string 文件名
- flag: int 文件标志
- perm: os.FileMode 文件权限
返回值:
- File: 文件对象
- error: 错误信息
type Symlinker ¶
type Symlinker interface { Lstater // 支持 Lstat 方法 Linker // 支持 Symlink 方法 LinkReader // 支持 Readlink 方法 }
Symlinker 是 Afero 中的一个可选接口。只有声明支持该接口的文件系统才会实现它。 该接口表示支持以下三个与符号链接相关的接口,这些接口实现了 os 包中的方法:
- Lstat
- Symlink
- Readlink
type UnionFile ¶
type UnionFile struct { Base File // 基础层文件 Layer File // 覆盖层文件 Merger DirsMerger // 目录合并器 // contains filtered or unexported fields }
UnionFile 实现了 afero.File 接口,当读取目录时(至少在覆盖层中存在)或打开文件进行写入时返回该接口。
对 Readdir() 和 Readdirnames() 的调用将合并基础层和覆盖层中的文件 os.FileInfo / 名称 - 对于同时存在于两个层中的文件,只使用覆盖层中的文件。
当打开文件进行写入(使用正确标志的 Create() / OpenFile())时,操作将在两个层中进行, 从覆盖层开始。覆盖层中的成功读取将按读取的字节数移动基础层中的光标位置。
func (*UnionFile) ReadAt ¶
ReadAt 从指定偏移量读取文件内容 参数:
- s: []byte 缓冲区
- o: int64 偏移量
返回值:
- int: 读取的字节数
- error: 错误信息
func (*UnionFile) Readdir ¶
Readdir 将两个目录组合在一起并返回覆盖目录的单一视图。 在目录视图的末尾,如果 c > 0,错误为 io.EOF。 参数:
- c: int 要读取的文件数
返回值:
- []os.FileInfo: 文件信息列表
- error: 错误信息
func (*UnionFile) Readdirnames ¶
Readdirnames 返回目录中所有文件的名称列表 参数:
- c: int 要读取的文件数
返回值:
- []string: 文件名称列表
- error: 错误信息
func (*UnionFile) Seek ¶
Seek 设置文件指针的位置 参数:
- o: int64 偏移量
- w: int 起始位置
返回值:
- int64: 新的文件指针位置
- error: 错误信息