24 05 2025
package main

func main() {
//只读方式打开文件
// os.Open("f:/golang/project/demo1/main.go") //绝对路径
// file, err := os.Open("main.go") //相对路径
// //打开文件后 必须关闭文件
// defer file.Close()
// if err != nil {
// fmt.Println("open file failed, err:", err)
// return
// }
// //file 指针类型
// fmt.Println(file)

// //读取文件内容
// var qk = make([]byte, 128)
// var content []byte
// for {
// n, err := file.Read(qk)
// if err == io.EOF { //err == io.EOF 表示文件读取完毕
// fmt.Println("文件读取完毕")
// break
// }
// if err != nil {
// fmt.Println("read file failed, err:", err)
// return
// }
// content = append(content, qk[:n]...)
// }
// fmt.Println(string(content))

//bufio 读取文件
// reader := bufio.NewReader(file)
// var strcontent string
// for {
// str, err := reader.ReadString('\n') //表示一次读取一行
// //err == io.EOF 表示文件读取完毕
// if err == io.EOF {
// //通过bufio 读取文件 读取完毕后 可能还会返回内容
// strcontent += str
// fmt.Println("文件读取完毕")
// break
// }
// if err != nil {
// fmt.Println("read file failed, err:", err)
// return
// }
// strcontent += str
// }
// fmt.Println(strcontent)

//通过os 读取文件
// content, err := os.ReadFile("main.go")
// if err != nil {
// fmt.Println("read file failed, err:", err)
// return
// }
// fmt.Println(string(content))

//写入文件
// file, err := os.OpenFile("main.go", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
// defer file.Close()
// if err != nil {
// fmt.Println("open file failed, err:", err)
// return
// }
// for i := 0; i < 10; i++ {
// file.WriteString(strconv.Itoa(i) + "\r\n")
// }

// for i := 0; i < 10; i++ {
// file.Write([]byte(fmt.Sprintf("%d\r\n", i)))
// }

//bufio 写入文件
// writer := bufio.NewWriter(file)
// for i := 0; i < 10; i++ {
// writer.WriteString(strconv.Itoa(i) + "\r\n")
// }
// writer.Flush() //刷新缓冲区

//通过os 写入文件
// content := []byte("hello world\r\n")
// //全覆盖写入 可以实现复制文件
// err = os.WriteFile("main1.go", content, 0666)
// if err != nil {
// fmt.Println("write file failed, err:", err)
// return
// }

// //创建目录 Mkdir 创建一个目录 MkdirAll 创建多级目录
// err := os.Mkdir("./other", 0777)
// if err != nil {
// // fmt.Println("mkdir failed, err:", err)
// // return
// }
// //删除文件 Remove 删除一个文件 RemoveAll 删除多级目录
// err = os.Remove("./other")
// if err != nil {
// fmt.Println("remove file failed, err:", err)
// return
// }
// //重命名文件 Rename 重命名文件或目录
// err = os.Rename("./main.go", "./main1.go")
// if err != nil {
// fmt.Println("rename file failed, err:", err)
// return
// }

}

延伸阅读
学习golang(四)
学习golang(伍)
学习golang(七)
学习golang(八)
学习golang(一)
发表评论
最新|与我有关