zoukankan      html  css  js  c++  java
  • 文件操作

    使用Fprintln追加字符串到文件末尾

    package main
    
    import (
        "fmt"
        "os"
    )
    
    func main() {
        f,err := os.Create("test.txt")
        defer f.Close()
        if err != nil{
            return
        }
        if err!=nil{
            fmt.Println(err)
        }
        fmt.Fprintln(f,"sss")
    
    }

    分区读取的正确操作

    package main
    
    import (
        "bufio"
        "fmt"
        "io"
        "log"
        "os"
    )
    
    func main() {
        f, err := os.Open("test.go")
        if err != nil {
            log.Fatal(err)
        }
        r := bufio.NewReader(f)
        b := make([]byte, 256)
        for {
            n, err := r.Read(b) //返回该次读取的字符个数
            if n == 0 && err == io.EOF {
                break
            }else if err != nil{
                break
            }
    
            fmt.Print(string(b[:n]))
        }
    }
    package main
    
    import (
        "io"
        "os"
    )
    
    func main() {
        f, _ := os.OpenFile("./test/1.txt", os.O_WRONLY, 0644) //以读写方式打开文件
        off,_ := f.Seek(5,io.SeekCurrent) //io.SeekCuurent从当前位置偏移5个,返回值off表示相对于文件起始位置的偏移量 ios.SeekStart起始位置,io.SeekEnd//结束位置
        f.WriteString("helloworld11111111")
        f.WriteAt([]byte("nihao"), 10) 表示写到相对初始位置偏移量为10的位置
        defer f.Close()
    }
    

    文件内容的拷贝,记住读多少写多少

    package main
    
    import (
        "fmt"
        "io"
        "os"
    )
    
    func test(s []int) {
        fmt.Printf("%p", &s)
    }
    
    func main() {
        fr, err := os.OpenFile("/Users/xiahualou/onedrive/GoDevelopment/src/logAgent/test/1.txt", os.O_RDONLY, 0644)
        if err != nil {
            fmt.Println("open err", err)
            return
        }
        defer fr.Close()
        fw, err := os.Create("/Users/xiahualou/onedrive/GoDevelopment/src/logAgent/test/2.txt")
        if err != nil {
            fmt.Println("create err", err)
            return
        }
        defer fw.Close()
        buf := make([]byte, 4096)
        for {
            n, err := fr.Read(buf)
            if err != nil && err == io.EOF {
                fmt.Println("已经读完")
                return
            }
            fw.Write(buf[:n]) //读多少写多少,如果直接写入,如果不是刚刚好读完4096,会把很多默认值写进去
        }
    }

    操作目录

    package main
    
    import (
        "fmt"
        "os"
    )
    
    func test(s []int) {
        fmt.Printf("%p", &s)
    }
    
    func main() {
        fr, err := os.OpenFile("/Users/xiahualou/onedrive/GoDevelopment/src/logAgent/test", os.O_RDONLY, 0644)
        if err != nil {
            fmt.Println("open err", err)
            return
        }
        defer fr.Close()
        info, err := fr.Readdir(-1) //-1获取所有文件名
        for _, fileInfo := range info {
            if fileInfo.IsDir() {
                fmt.Printf("%s is dir
    ", fileInfo.Name())
            } else {
                fmt.Printf("%s
    ", fileInfo.Name())
            }
        }
    }




  • 相关阅读:
    一个开源库:720全景显示
    如何查看mac系统是32位还是64位的操作系统
    iOS ASIHTTPRequest 使用指南
    iOS block里的self
    苹果公司给出的检测 advertisingIdentifier 的方法
    App Store idfa被拒检查办法
    iOS苹果开发者客服电话地址
    iOS项目的目录结构和开发流程(Cocoa China)
    CFBundleVersion与CFBundleShortVersionString
    In App Purchase Statuses
  • 原文地址:https://www.cnblogs.com/hualou/p/12069789.html
Copyright © 2011-2022 走看看