### 文件写入
> func (f *File) Write(b []byte) (n int, err error)
> Write(b []byte)
Write向文件中写入len(b)字节数据。它返回写入的字节数和可能遇到的任何错误。如果返回值为n!=len(b),本方法会返回一个非nil的错误。
```
package main
import (
"fmt"
"os"
)
func write(path string, str string) {
// 写入文件用Create 读取用Open
file, err := os.Create(path)
if err != nil {
fmt.Println(err)
}
// str 传的是值
data := str
for i := 0; i < 3; i++ {
file.Write([]byte(data))
}
file.Close()
}
// 写入数据到 999.txt 内容
func main() {
// 路径
write("E:\\flie\\999.txt", "写入了123456789\r\n")
}
```
使用WriteAt可以指定位置写入
> func (f *File) WriteAt(b []byte, off int64) (n int, err error)
> Write(b []byte)
Writeat在文件指定的位置(相对于文件开始的位置)写入len(b)字节数据。它返回写入的字节数和可能遇到的任何错误。如果返回值为n!=len(b),本方法会返回一个非nil的错误。
```
package main
import (
"fmt"
"os"
)
func write(path string, str string) {
// 写入文件用Create 读取用Open
file, err := os.Create(path)
if err != nil {
fmt.Println(err)
}
// str 传的是值
data := str
for i := 0; i < 3; i++ {
// 按指定偏移量写入数据
ix := i * 64
// strconv.Itoa(i)这是写进去i
// file.WriteAt([]byte(data+strconv.Itoa(i)+"\r\n"), int64(ix))
file.WriteAt([]byte(data+"\r\n"), int64(ix))
}
file.Close()
}
// 写入数据到 999.txt 内容
func main() {
// 路径
write("E:\\flie\\999.txt", "写入了123456789")
}
```
Write和WriteAt 写入数据会覆盖原文件,并且从文件开始处写入内容
### 删除文件
和删除目录操作类似
> **func Remove(name string) error**
> name string 传入单个文件路径
> **func RemoveAll(name string) error**
> >name string 传入所有文件路径
```
package main
import (
"fmt"
"os"
)
func delete() {
// 删除文件
err := os.Remove("E:\\flie\\999.txt")
if err != nil {
fmt.Println(err)
} else {
fmt.Println("删除单个文件成功")
}
// 删除路径下所有文件
err2 := os.RemoveAll("E:\\flie\\")
if err2 != nil {
fmt.Println(err2)
} else {
fmt.Println("删除当前目录所有文件成功")
}
}
func main() {
delete()
}
```
- 安装开发环境
- 安装开发环境
- 安装详细教程
- 引入包
- Go语言基础
- 基本变量与数据类型
- 变量
- 数据类型
- 指针
- 字符串
- 代码总结
- 常量与运算符
- 常量
- 运算符
- 流程控制
- if判断
- for循环
- switch分支
- goto跳转
- 斐波那契数列
- Go语言内置容器
- 数组
- 切片
- 映射
- 函数
- 函数(上)
- 函数(中)
- 函数(下)
- 小节
- 包管理
- 结构体
- 结构体(上)
- 结构体(中)
- 结构体(下)
- 小节
- 错误处理
- 错误处理
- 宕机
- 错误应用
- 小节
- 文件操作
- 获取目录
- 创建和删除目录
- 文件基本操作(上)
- 文件基本操作(中)
- 文件基本操作(下)
- 处理JSON文件
- 接口与类型
- 接口的创建与实现
- 接口赋值
- 接口嵌入
- 空接口
- 类型断言(1)
- 类型断言(2)
- 小节
- 并发与通道
- goroutine协程
- runtime包
- 通道channel
- 单向通道channel
- select
- 线程同步
- 多线程的深入学习
- http编程
- http简介
- Client和Request
- get请求
- post请求
- 模块函数方法
- 模块
- fmt库,模块
- 项目练习
- 爬虫:高三网
- 爬虫:快代理
- 爬虫:快代理2
- 多线程:通道思路
- 多线程爬虫:快代理