gfile

package
v1.8.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2019 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package gfile provides easy-to-use operations for file system.

Index

Constants

View Source
const (
	// Separator for file system.
	Separator = string(filepath.Separator)
)

Variables

This section is empty.

Functions

func Basename

func Basename(path string) string

Basename returns the last element of path. Trailing path separators are removed before extracting the last element. If the path is empty, Base returns ".". If the path consists entirely of separators, Base returns a single separator.

func Chmod

func Chmod(path string, mode os.FileMode) error

See os.Chmod.

func Copy

func Copy(src string, dst string) error

Copy file/directory from <src> to <dst>.

If <src> is file, it calls CopyFile to implements copy feature, or else it calls CopyDir.

func CopyDir

func CopyDir(src string, dst string) (err error)

CopyDir recursively copies a directory tree, attempting to preserve permissions. Source directory must exist, destination directory must *not* exist. Symlinks are ignored and skipped.

func CopyFile

func CopyFile(src, dst string) (err error)

CopyFile copies the contents of the file named src to the file named by dst. The file will be created if it does not already exist. If the destination file exists, all it's contents will be replaced by the contents of the source file. The file mode will be copied from the source and the copied data is synced/flushed to stable storage. Thanks: https://gist.github.com/r0l1/92462b38df26839a3ca324697c8cba04

func Create

func Create(path string) (*os.File, error)

Create creates file with given <path> recursively. The parameter <path> is suggested to be absolute path.

func Dir

func Dir(path string) string

Dir returns all but the last element of path, typically the path's directory. After dropping the final element, Dir calls Clean on the path and trailing slashes are removed. If the path is empty, Dir returns ".". If the path consists entirely of separators, Dir returns a single separator. The returned path does not end in a separator unless it is the root directory.

func DirNames

func DirNames(path string) ([]string, error)

DirNames returns sub-file names of given directory <path>.

func Exists

func Exists(path string) bool

Exists checks whether given <path> exist.

func Ext

func Ext(path string) string

Ext returns the file name extension used by path. The extension is the suffix beginning at the final dot in the final element of path; it is empty if there is no dot.

Note: the result contains symbol '.'.

func FormatSize

func FormatSize(raw float64) string

FormatSize formats size <raw> for more human readable.

func GetBinContents

func GetBinContents(path string) []byte

GetBinContents returns the file content of <path> as []byte. It returns nil if it fails reading.

func GetBinContentsByTwoOffsets

func GetBinContentsByTwoOffsets(reader io.ReaderAt, start int64, end int64) []byte

GetBinContentsByTwoOffsets returns the binary content as []byte from <start> to <end>. Note: Returned value does not contain the character of the last position, which means it returns content range as [start, end).

func GetBinContentsByTwoOffsetsByPath

func GetBinContentsByTwoOffsetsByPath(path string, start int64, end int64) []byte

GetBinContentsByTwoOffsetsByPath returns the binary content as []byte from <start> to <end>. Note: Returned value does not contain the character of the last position, which means it returns content range as [start, end). It opens file of <path> for reading with os.O_RDONLY flag and default perm.

func GetBinContentsTilChar

func GetBinContentsTilChar(reader io.ReaderAt, char byte, start int64) ([]byte, int64)

GetBinContentsTilChar returns the contents of the file as []byte until the next specified byte <char> position.

Note: Returned value contains the character of the last position.

func GetBinContentsTilCharByPath

func GetBinContentsTilCharByPath(path string, char byte, start int64) ([]byte, int64)

GetBinContentsTilCharByPath returns the contents of the file given by <path> as []byte until the next specified byte <char> position. It opens file of <path> for reading with os.O_RDONLY flag and default perm.

Note: Returned value contains the character of the last position.

func GetContents

func GetContents(path string) string

GetContents returns the file content of <path> as string. It returns en empty string if it fails reading.

func GetNextCharOffset

func GetNextCharOffset(reader io.ReaderAt, char byte, start int64) int64

GetNextCharOffset returns the file offset for given <char> starting from <start>.

func GetNextCharOffsetByPath

func GetNextCharOffsetByPath(path string, char byte, start int64) int64

GetNextCharOffsetByPath returns the file offset for given <char> starting from <start>. It opens file of <path> for reading with os.O_RDONLY flag and default perm.

func Glob

func Glob(pattern string, onlyNames ...bool) ([]string, error)

Glob returns the names of all files matching pattern or nil if there is no matching file. The syntax of patterns is the same as in Match. The pattern may describe hierarchical names such as /usr/*/bin/ed (assuming the Separator is '/').

Glob ignores file system errors such as I/O errors reading directories. The only possible returned error is ErrBadPattern, when pattern is malformed.

func Home

func Home() (string, error)

Home returns absolute path of current user's home directory.

func Info

func Info(path string) (os.FileInfo, error)

Alias of Stat. See Stat.

func IsDir

func IsDir(path string) bool

IsDir checks whether given <path> a directory.

func IsFile

func IsFile(path string) bool

IsFile checks whether given <path> a file, which means it's not a directory.

func IsReadable

func IsReadable(path string) bool

IsReadable checks whether given <path> is readable.

func IsWritable

func IsWritable(path string) bool

IsWritable checks whether given <path> is writable.

@TODO improve performance; use golang.org/x/sys to cross-plat-form

func MTime

func MTime(path string) int64

MTime returns the modification time of file given by <path> in second.

func MTimeMillisecond

func MTimeMillisecond(path string) int64

MTimeMillisecond returns the modification time of file given by <path> in millisecond.

func MainPkgPath

func MainPkgPath() string

MainPkgPath returns absolute file path of package main, which contains the entrance function main.

It's only available in develop environment.

Note1: Only valid for source development environments, IE only valid for systems that generate this executable. Note2: When the method is called for the first time, if it is in an asynchronous goroutine, the method may not get the main package path.

func Mkdir

func Mkdir(path string) error

Mkdir creates directories recursively with given <path>. The parameter <path> is suggested to be absolute path.

func Move

func Move(src string, dst string) error

Move renames (moves) <src> to <dst> path.

func Open

func Open(path string) (*os.File, error)

Open opens file/directory readonly.

func OpenFile

func OpenFile(path string, flag int, perm os.FileMode) (*os.File, error)

OpenFile opens file/directory with given <flag> and <perm>.

func OpenWithFlag

func OpenWithFlag(path string, flag int) (*os.File, error)

OpenWithFlag opens file/directory with default perm and given <flag>.

func OpenWithFlagPerm

func OpenWithFlagPerm(path string, flag int, perm int) (*os.File, error)

OpenWithFlagPerm opens file/directory with given <flag> and <perm>.

func PutBinContents

func PutBinContents(path string, content []byte) error

PutBinContents puts binary <content> to file of <path>. It creates file of <path> recursively if it does not exist.

func PutBinContentsAppend

func PutBinContentsAppend(path string, content []byte) error

PutBinContentsAppend appends binary <content> to file of <path>. It creates file of <path> recursively if it does not exist.

func PutContents

func PutContents(path string, content string) error

PutContents puts string <content> to file of <path>. It creates file of <path> recursively if it does not exist.

func PutContentsAppend

func PutContentsAppend(path string, content string) error

PutContentsAppend appends string <content> to file of <path>. It creates file of <path> recursively if it does not exist.

func Pwd

func Pwd() string

Pwd returns absolute path of current working directory.

func ReadableSize

func ReadableSize(path string) string

ReadableSize formats size of file given by <path>, for more human readable.

func RealPath

func RealPath(path string) string

RealPath converts the given <path> to its absolute path and checks if the file path exists. If the file does not exist, return an empty string.

func Remove

func Remove(path string) error

Remove deletes all file/directory with <path> parameter. If parameter <path> is directory, it deletes it recursively.

func Rename

func Rename(src string, dst string) error

Alias of Move. See Move.

func ScanDir

func ScanDir(path string, pattern string, recursive ...bool) ([]string, error)

ScanDir returns all sub-files with absolute paths of given <path>, It scans directory recursively if given parameter <recursive> is true.

func Search(name string, prioritySearchPaths ...string) (realPath string, err error)

Search searches file by name <name> in following paths with priority: prioritySearchPaths, Pwd()、SelfDir()、MainPkgPath(). It returns the absolute file path of <name> if found, or en empty string if not found.

func SelfDir

func SelfDir() string

SelfDir returns absolute directory path of current running process(binary).

func SelfName added in v1.8.1

func SelfName() string

SelfName returns file name of current running process(binary).

func SelfPath

func SelfPath() string

SelfPath returns absolute file path of current running process(binary).

func Size

func Size(path string) int64

Size returns the size of file specified by <path> in byte.

func Stat

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

Stat returns a FileInfo describing the named file. If there is an error, it will be of type *PathError.

func TempDir

func TempDir() string

See os.TempDir().

func Truncate

func Truncate(path string, size int) error

Truncate truncates file of <path> to given size by <size>.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL