go io操作

  1. ioutils 读写文件
/**
* @Author: wsp
* @Date: 10:16 2018/1/12
* @Description: ioutils 文件读写
 */
func IoReadAndWriteFile() {
    // 文件读取为[]byte,将文件中内容全部读取
    result, err := ioutil.ReadFile("test.txt")
    ErrHandler(err)

    fmt.Println("文件读取的结果:")
    fmt.Println(string(result))

    fmt.Println("文件写入")
    // 文件路径,[]byte, 文件权限777
    err1 := ioutil.WriteFile("write.txt", result, os.ModePerm)
    ErrHandler(err1)
}

  2. io 读写文件

/**
* @Author: wsp
* @Date: 10:26 2018/1/12
* @Description: 读写
 */
func IoReadWrite() {
    // 文件读写操作注意文件权限,读写方式
    file, err := os.OpenFile("test.txt", os.O_APPEND, 0666)
    ErrHandler(err)
    defer file.Close()

    // 将数据写入文件中--方式一
    n1, err2 := io.WriteString(file, "测试1")
    ErrHandler(err2)
    fmt.Println("写入几个字节:", n1)

    // 将数据写入文件中--方式二
    file1, err3 := os.Create("test1.txt")
    defer file1.Close()
    ErrHandler(err3)
    // []byte方式写入
    file1.Write([]byte("hello world\n"))
    // string方式写入
    file1.WriteString("uniledger\n")

    // 将file中的数据写入到result切片中,分块读取
    result := make([]byte, 10000)
    file2, err := os.Open("test.txt")
    defer file2.Close()
    n, err1 := file2.Read(result)
    ErrHandler(err1)
    fmt.Println("io读取文件:", n)
    fmt.Println(string(result))

    // 按行读取文件内容
    file3, _ := os.Open("test.txt")
    fmt.Println("按行读取文件内容:")
    bfRd := bufio.NewReader(file3)
    for {
        line, err4 := bfRd.ReadBytes('\n')
        os.Stdout.Write(line)
        if err4 != nil {
            break
        }
    }
}

 

posted @ 2018-01-12 11:12  穷开心y  阅读(408)  评论(0编辑  收藏  举报