Documentation ¶
Overview ¶
Package fileutil contains utilities for working with the file system.
Package fileutil contains utilities for working with the file system.
Package fileutil contains utilities for working with the file system.
Index ¶
- Constants
- func DeleteFile(filepath string) (err error)
- func Exists(filePath string) bool
- func Harden(path string) (err error)
- func HardenDataFolder() error
- func HardenedWriteFile(filename string, data []byte) (err error)
- func IsDirEmpty(location string) (bool, error)
- func IsDirectory(srcPath string) bool
- func IsFile(srcPath string) bool
- func LocalFileExist(path string) (bool, error)
- func MakeDirs(destinationDir string) (err error)
- func MakeDirsWithExecuteAccess(destinationDir string) (err error)
- func MoveFile(filename, srcPath, dstPath string) (result bool, err error)
- func ReadAllText(filePath string) (text string, err error)
- func RecursivelyHarden(path string) error
- func RemoveInvalidChars(filePath string) string
- func Uncompress(src, dest string) error
- func WriteAllText(filePath string, text string) (err error)
- func WriteIntoFileWithPermissions(absolutePath, content string, perm os.FileMode) (result bool, err error)
- type DiskSpaceInfo
Examples ¶
Constants ¶
const (
RWPermission = 0600
)
Variables ¶
This section is empty.
Functions ¶
func DeleteFile ¶
DeleteFile deletes the specified file
func Exists ¶
Exists returns true if the given file exists, false otherwise, ignoring any underlying error
Example ¶
path := filepath.Join("artifact", "testdata", "CheckMyHash.txt") content := Exists(path) fmt.Println(content)
Output: true
func HardenDataFolder ¶
func HardenDataFolder() error
HardenDataFolder sets permission of %PROGRAM_DATA% folder for Windows. In Linux, each components handles the permission of its data.
func HardenedWriteFile ¶
HardenedWriteFile calls ioutil.WriteFile and guarantees a hardened permission control. If the file already exists, it hardens the permissions before writing data to it.
func IsDirEmpty ¶
IsDirEmpty returns true if the given directory is empty else it returns false
Example ¶
path := filepath.Join("artifact", "testdata") content, err := IsDirEmpty(path) if err != nil { log.Fatalf("error: %v", err) } fmt.Println(content)
Output: false
func IsDirectory ¶
IsDirectory returns true or false depending if given srcPath is directory or not
Example ¶
path := filepath.Join("artifact", "testdata", "CheckMyHash.txt") content := IsDirectory(path) fmt.Println(content)
Output: false
func IsFile ¶
IsFile returns true or false depending if given srcPath is a regular file or not
Example ¶
path := filepath.Join("artifact", "testdata", "CheckMyHash.txt") content := IsFile(path) fmt.Println(content)
Output: true
func LocalFileExist ¶
LocalFileExist returns true if the given file exists, false otherwise.
Example ¶
// file exists path := filepath.Join("artifact", "testdata", "CheckMyHash.txt") content, err := LocalFileExist(path) if err != nil { log.Fatalf("error: %v", err) } fmt.Println(content) // file does not exist path = filepath.Join("testdata", "blah") content, err = LocalFileExist(path) if err != nil { log.Fatalf("error: %v", err) } fmt.Println(content)
Output: true false
func MakeDirsWithExecuteAccess ¶
MakeDirsWithExecuteAccess create the directories along the path if missing.
func MoveFile ¶
MoveFile moves file from srcPath directory to dstPath directory only if both directories exist
func ReadAllText ¶
ReadAllText reads all content from the specified file
Example ¶
// valid file path := filepath.Join("artifact", "testdata", "CheckMyHash.txt") content, err := ReadAllText(path) if err != nil { log.Fatalf("error: %v", err) } fmt.Println(content) // invalid file path = filepath.Join("testdata", "invalid.txt") content, err = ReadAllText(path) if err != nil { log.Fatalf("error: %v", err) } fmt.Println(content)
Output: Will you please check my hash? Will you please check my hash? Will you please check my hash?
func RecursivelyHarden ¶
RecursivelyHarden the files and directory under the specified path.
func RemoveInvalidChars ¶
RemoveInvalidChars strips any invalid characters from filepath
Example ¶
// Path with invalid char path1 := "Fix:ThisPath" content1 := RemoveInvalidChars(path1) fmt.Println(content1) // path with no invalid char path2 := "DoNotFixThisPath" content2 := RemoveInvalidChars(path2) fmt.Println(content2) // empty path should not return error path3 := "" content3 := RemoveInvalidChars(path3) fmt.Println(content3)
Output: FixThisPath DoNotFixThisPath
func WriteAllText ¶
WriteAllText writes all text content to the specified file
Types ¶
type DiskSpaceInfo ¶
DiskSpaceInfo stores the available, free, and total bytes
func GetDiskSpaceInfo ¶
func GetDiskSpaceInfo() (diskSpaceInfo DiskSpaceInfo, err error)
GetDiskSpaceInfo returns DiskSpaceInfo with available, free, and total bytes from system disk space