github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/utils/helper/files.go (about)

     1  package helper
     2  
     3  import (
     4  	"io"
     5  	"os"
     6  )
     7  
     8  func FileExists(filename string) bool {
     9  	info, err := os.Stat(filename)
    10  	if os.IsNotExist(err) {
    11  		return false
    12  	}
    13  	return !info.IsDir()
    14  }
    15  
    16  func FolderExists(folder string) bool {
    17  	info, err := os.Stat(folder)
    18  	if os.IsNotExist(err) {
    19  		return false
    20  	}
    21  	return info.IsDir()
    22  }
    23  
    24  func FolderEmpty(folder string) (bool, error) {
    25  	f, err := os.Open(folder)
    26  	if err != nil {
    27  		return false, err
    28  	}
    29  	defer f.Close()
    30  
    31  	// read in ONLY one file
    32  	_, err = f.Readdir(1)
    33  
    34  	// and if the file is EOF... well, the dir is empty.
    35  	if err == io.EOF {
    36  		return true, nil
    37  	}
    38  	return false, err
    39  }