// Package fileutil implements file utilities. package fileutil import "os" func OpenToRead(fpath string) (*os.File, error) { f, err := os.OpenFile(fpath, os.O_RDONLY, 0444) if err != nil { return f, err } return f, nil } func OpenToAppend(fpath string) (*os.File, error) { f, err := os.OpenFile(fpath, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0777) if err != nil { return nil, err } return f, nil } func OpenToOverwrite(fpath string) (*os.File, error) { f, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC|os.O_CREATE, 0777) if err != nil { return nil, err } return f, nil } func ToFile(txt, fpath string) error { f, err := os.OpenFile(fpath, os.O_RDWR|os.O_TRUNC, 0777) if err != nil { f, err = os.Create(fpath) if err != nil { return err } } defer f.Close() if _, err := f.WriteString(txt); err != nil { return err } return nil } // Exist returns true if the file or directory exists. func Exist(fpath string) bool { st, err := os.Stat(fpath) if err != nil { if os.IsNotExist(err) { return false } } if st.IsDir() { return true } if _, err := os.Stat(fpath); err != nil { if os.IsNotExist(err) { return false } } return true }