Go file

os.File

os.File这个结构体封装了所有的对文件的操作

打开和关闭文件

打开文件
os.Open(name string)(*File, error)
var file, _ = os.Open("static/a.txt")
file.Close()
os.openFile()
// 如果打开错误,就会报底层的pathError,这个文件打开的方法更加一般性
func main() {
	var file, _ = os.OpenFile("static/a.txt", os.O_RDONLY, 0666)
}
关闭文件
func(file *File)(error)

文件读写

使用package bufio
bufio.NewReader()

// 按行读取
func main() {
	var file, err = os.Open("static/a.txt")
	if err != nil { // 表示打开文件的时候返回了一个错误
		return
	}
	// 当我们退出当前的函数的时候就关闭文件流
	defer file.Close()
	var reader = bufio.NewReader(file)
	for {
		var str, err = reader.ReadString('\n') // 这里的是表示的结尾标志是回车键
		if err == io.EOF {
			break
		}
		fmt.Print(str)
	}
}
// 读取一定的字节数量

判定文件是否存在

使用到的函数 os.Stat() os.IsNotExist()

_, err := os.Stat(path) // 如果第二个值返回的是nil表示的是这个文件存在的,但是如果返回的 != nil就需要使用 os.IsNotExist()来进行判断 
isNotExist := os.IsNotExist(err) // 这里的err就是上面返回的err,如果这个函数返回的表示的是true表示的是这个文件不存在,返回的是false则不知道