提交 5c94f985 编写于 作者: 彭世瑜's avatar 彭世瑜

fix

上级 7999ee2d
...@@ -6,7 +6,6 @@ ...@@ -6,7 +6,6 @@
os模块实现了平台无关的编程接口 os模块实现了平台无关的编程接口
创建文件 创建文件
```go ```go
...@@ -27,7 +26,7 @@ func main() { ...@@ -27,7 +26,7 @@ func main() {
fmt.Printf("file.Name(): %v\n", file.Name()) fmt.Printf("file.Name(): %v\n", file.Name())
// file.Name(): demo.txt // file.Name(): demo.txt
} }
} }
``` ```
...@@ -222,4 +221,131 @@ func main() { ...@@ -222,4 +221,131 @@ func main() {
} }
} }
```
### File文件读写操作
打开现有文件
```go
package main
import (
"fmt"
"os"
)
func main() {
f, err := os.Open("demo.txt")
if err != nil {
fmt.Printf("err: %v\n", err)
} else {
fmt.Printf("f.Name(): %v\n", f.Name())
// f.Name(): demo.txt
f.Close()
}
}
```
如果不存在则创建
```go
package main
import (
"fmt"
"os"
)
func main() {
// 如果不存在则创建
f, err := os.OpenFile("demo.txt", os.O_RDWR|os.O_CREATE, os.ModePerm)
if err != nil {
fmt.Printf("err: %v\n", err)
} else {
fmt.Printf("f.Name(): %v\n", f.Name())
// f.Name(): demo.txt
f.Close()
}
}
```
其他方法
```go
// 等价于:OpenFile(name, O_RDWR|O_CREATE|O_TRUNC, 0666)
f, err := os.Create("demo.txt")
// 创建临时文件
f, _ := os.CreateTemp("", "test")
fmt.Printf("f.Name(): %v\n", f.Name())
// f.Name(): /var/folders/43/llymqbps19d74q2h_bgb00mr0000gn/T/test218970504
// 从指定字节数开始读取
n, err := f.ReadAt(buf, 3)
// 定位光标
f.Seek(3, 0)
```
按照字节数去取文件
```go
package main
import (
"fmt"
"io"
"os"
)
func main() {
f, _ := os.Open("demo.txt")
for {
// 字节缓冲区
buf := make([]byte, 3)
n, err := f.Read(buf)
if err == io.EOF {
break
}
fmt.Printf("n: %v\n", n)
fmt.Printf("string(buf): %v\n", string(buf))
}
f.Close()
}
```
遍历目录
```go
package main
import (
"fmt"
"os"
)
func main() {
dirs, _ := os.ReadDir("./")
for _, dir := range dirs {
// 判断是否是目录
fmt.Printf("dir: %v\n", dir.IsDir())
// 输出名称
fmt.Printf("dir: %v\n", dir.Name())
}
}
``` ```
\ No newline at end of file
...@@ -54,4 +54,5 @@ ...@@ -54,4 +54,5 @@
https://www.bilibili.com/video/BV1ME411Y71o?p=27&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da https://www.bilibili.com/video/BV1ME411Y71o?p=27&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
https://www.bilibili.com/video/BV1zR4y1t7Wj/?p=79&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
\ No newline at end of file https://www.bilibili.com/video/BV1zR4y1t7Wj?p=80&vd_source=efbb4dc944fa761b6e016ce2ca5933da
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册