github.com/devops-filetransfer/sshego@v7.0.4+incompatible/exists.go (about)

     1  package sshego
     2  
     3  import (
     4  	"os"
     5  )
     6  
     7  // fileExists returns true iff the path name is a file (and not a directory or non-existant).
     8  func fileExists(name string) bool {
     9  	fi, err := os.Stat(name)
    10  	if err != nil {
    11  		return false
    12  	}
    13  	if fi.IsDir() {
    14  		return false
    15  	}
    16  	return true
    17  }
    18  
    19  // FileExistsLen check if name is an actually file (directories don't count) and also
    20  // returns the length of the file.
    21  func fileExistsLen(name string) (bool, int64) {
    22  	fi, err := os.Stat(name)
    23  	if err != nil {
    24  		return false, 0
    25  	}
    26  	if fi.IsDir() {
    27  		return false, 0
    28  	}
    29  	return true, fi.Size()
    30  }
    31  
    32  // DirExists returns true if name represents a directory on disk.
    33  func dirExists(name string) bool {
    34  	fi, err := os.Stat(name)
    35  	if err != nil {
    36  		return false
    37  	}
    38  	if fi.IsDir() {
    39  		return true
    40  	}
    41  	return false
    42  }