6.1 读取某文件夹下面的所有文件
package main
import (
"fmt"
"io/ioutil"
)
func main(){
path := "/Users/haha/GolandProjects/awesomeProject3"
files, err := ioutil.ReadDir(path)
if err == nil {
for _, file := range files {
fmt.Println("name = ", file.Name())
}
}
}
结果:把文件夹下的文件名都打印出来了
name = .DS_Store
name = .idea
name = .zip
name = Users
name = data
name = go.mod
name = go.sum
name = haha.zip
name = test
name = test.go
6.2 判断文件/文件夹是否存在
package main
import (
"fmt"
"os"
)
func main() {
path := "/Users/haha/GolandProjects/awesomeProject3"
_, err := os.Stat(path)
if err == nil {
fmt.Println("exist")
} else {
fmt.Println("not exist, err = ", err)
}
}
结果:
exist
6.3 创建文件夹
package main
import (
"os"
"fmt"
)
func main(){
path := "/Users/bytedance/Desktop/file/text1"
err := os.Mkdir(path, os.ModePerm)
if err != nil {
fmt.Println("err = ", err)
}
}
结果:创建成功
6.4 创建文件
func main() {
newFile, err := os.Create("./output/test.txt")
if err != nil {
return err
}
newFile.Close()
}
结果:创建成功
6.5 写入文件
package main
import (
"fmt"
"os"
)
func main() {
info := "hahahahahahadfdsfdsfdsfds"
path := "/Users/haha/Desktop/file/test.txt"
WriteStringToFile(path, info)
}
func WriteStringToFile(filepath, info string) error {
fi, err := os.OpenFile(filepath, os.O_WRONLY|os.O_APPEND, 0644) //打开文件
if err != nil {
fmt.Println(err)
return err
}
defer fi.Close()
_, err = fi.WriteString(info)
if err != nil {
return err
}
return nil
}
结果:写入成功
6.6 删除文件
//删除文件
func RemoveFile(filePath string) {
os.Remove(filePath)
}
6.7 获取文件详细信息
package main
import (
"fmt"
"os"
)
func main() {
path := "/Users/bytedance/Desktop/矩阵分析.txt"
fileInfo, err := os.Stat(path)
if err == nil {
fmt.Println("name = ", fileInfo.Name())
fmt.Println("size = ", fileInfo.Size())
fmt.Println("modify time = ", fileInfo.ModTime())
}
}
结果:
name = 矩阵分析.txt
size = 83
modify time = 2022-03-12 17:49:05.384550348 +0800 CST