读取A文件,然后写入到B文件中
package main
import (
"fmt"
"io/ioutil"
)
func main() {
// 读取文件
byteStr, err := ioutil.ReadFile("./testFile.txt")
// 如果哦 err 不为 nil,说明读取文件失败;所以要判断 err 是否为 nil
if err != nil {
fmt.Println(err)
return
}
err2 := ioutil.WriteFile("./newWrite.txt", byteStr, 0666)
if err2 != nil {
fmt.Println(err2)
return
}
fmt.Println("写入成功")
}
读取A文件,然后写入到B文件中(封装成一个方法)
package main
import (
"fmt"
"io/ioutil"
)
func copyFile(srcPath string, dstPath string) error {
// 读取文件
byteStr, err := ioutil.ReadFile(srcPath)
if err != nil {
return err
}
// 写入到这个文件中去
err2 := ioutil.WriteFile(dstPath, byteStr, 0666)
if err2 != nil {
return err2
}
return nil
}
func main() {
err := copyFile("./testFile.txt", "./newWrite.txt")
if err != nil {
fmt.Println(err)
return
}
fmt.Println("写入成功")
}
创建一个目录
package main
import (
"fmt"
"os"
)
func main() {
err := os.Mkdir("./newMulv", 0666)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("创建成功")
}
如果这个目录已经存在,会报错
提示: mkdir ./newMulv: Cannot create a file when that file already exists.
创建多级目录
package main
import (
"fmt"
"os"
)
func main() {
// 创建多级目录
err := os.MkdirAll("./newMulv/soN1/s2", 0666)
if err != nil {
fmt.Println(err)
return
}
fmt.Println("创建成功")
}
os.MkdirAll 如果这个目录已经存在,不会报错的;
所以这个方法使用的比较多,用来创建目录。
删除某个文件 os.Remove() 方法
package main
import (
"fmt"
"os"
)
func main() {
// 删除某个文件
err := os.Remove("./newMulv/soN1/s2/aa.vue")
if err != nil {
fmt.Println(err)
return
}
fmt.Println("删除成功")
}
删除某个目录, os.Remove() 方法
package main
import (
"fmt"
"os"
)
func main() {
// 删除某个目录
err := os.Remove("./newMulv/soN1/s2")
if err != nil {
fmt.Println(err)
return
}
fmt.Println("删除成功")
}
我们发现,os.Remove() 方法可以删除文件,也可以删除目录。
如果目录不存在的话,会报错的哈。
删除某个目录下的所有子目录以及子文件 os.RemoveAll
package main
import (
"fmt"
"os"
)
func main() {
// 删除某个目录下的所有子目录以及子文件
err := os.RemoveAll("./newMulv")
if err != nil {
fmt.Println(err)
return
}
fmt.Println("删除成功")
}
如果这个目录不在的话,os.RemoveAll方法不会报错的。
更改文件的名称 os.Rename
package main
import (
"fmt"
"os"
)
func main() {
// 更改某个文件的名称
// 第一个参数是旧文件名,第二个参数是新文件名
err := os.Rename("./newMulv/soN1/c.vue", "./newMulv/soN1/c1.vue")
if err != nil {
fmt.Println(err)
return
}
fmt.Println("改名成功")
}