wkfs - ActiveState ActiveGo 1.8
...

Package wkfs

import "go4.org/wkfs"
Overview
Index
Subdirectories

Overview ▾

Package wkfs implements the pluggable "well-known filesystem" abstraction layer.

Instead of accessing files directly through the operating system using os.Open or os.Stat, code should use wkfs.Open or wkfs.Stat, which first try to intercept paths at well-known top-level directories representing previously-registered mount types, otherwise fall through to the operating system paths.

Example of top-level well-known directories that might be registered include /gcs/bucket/object for Google Cloud Storage or /s3/bucket/object for AWS S3.

func Lstat

func Lstat(name string) (os.FileInfo, error)

func MkdirAll

func MkdirAll(path string, perm os.FileMode) error

func ReadFile

func ReadFile(filename string) ([]byte, error)

func RegisterFS

func RegisterFS(prefix string, fs FileSystem)

RegisterFS registers a well-known filesystem. It intercepts anything beginning with prefix (which must start and end with a forward slash) and forwards it to fs.

func Remove

func Remove(name string) error

func Stat

func Stat(name string) (os.FileInfo, error)

func WriteFile

func WriteFile(filename string, data []byte, perm os.FileMode) error

WriteFile writes data to a file named by filename. If the file does not exist, WriteFile creates it with permissions perm; otherwise WriteFile truncates it before writing.

type File

type File interface {
    io.Reader
    io.ReaderAt
    io.Closer
    io.Seeker
    Name() string
    Stat() (os.FileInfo, error)
}

func Open

func Open(name string) (File, error)

type FileSystem

type FileSystem interface {
    Open(name string) (File, error)
    OpenFile(name string, flag int, perm os.FileMode) (FileWriter, error)
    Stat(name string) (os.FileInfo, error)
    Lstat(name string) (os.FileInfo, error)
    MkdirAll(path string, perm os.FileMode) error
    Remove(name string) error
}

type FileWriter

type FileWriter interface {
    io.Writer
    io.Closer
}

func Create

func Create(name string) (FileWriter, error)

func OpenFile

func OpenFile(name string, flag int, perm os.FileMode) (FileWriter, error)

Subdirectories

Name Synopsis
..
gcs Package gcs registers a Google Cloud Storage filesystem at the well-known /gcs/ filesystem path if the current machine is running on Google Compute Engine.