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

    1.go文件操作

    package main
    
    import (
        "bufio"
        "fmt"
        "io"
        "io/ioutil"
        "os"
    )
    
    //一次一次读取文件
    func main(){
        fileName:="test.txt";
        file,_:=os.Open(fileName);//打开一个文件
        reader:=bufio.NewReader(file);//使用bufio读取一个文件
        for {//循环读取
            str,error:=reader.ReadString('
    ');//使用换行符
            if error == io.EOF {
                break;
            }
            fmt.Print(str);
        }
        fmt.Println("file read end");
    }
    //一次性读取文件
    func main(){
        content,_:= ioutil.ReadFile("test.txt");
        fmt.Print(string(content));
    }

     2.文件操作题

    package main
    
    import (
        "bufio"
        "fmt"
        "io"
        "os"
    )
    
    //写入数据=数据是字符串
    //func main() {
    //    file,_:=os.OpenFile("1.txt",os.O_RDWR | os.O_APPEND|os. O_CREATE,066);
    //    str:="this is test
    ";
    //    file.WriteString(str);
    //    defer file.Close();
    //}
    //使用缓存写文件
    //func main(){
    //    str:="111111111111111";
    //    file,_:=os.OpenFile("1.txt",os.O_RDWR|os.O_APPEND|os. O_CREATE,066);
    //    write:=bufio.NewWriter(file);
    //    write.WriteString(str);
    //    write.Flush();
    //    defer  file.Close();
    //}
    //文件已经存在,清空后创建
    //func main(){
    //    file,_:=os.OpenFile("1.txt",os.O_WRONLY|os.O_TRUNC,0666);
    //    str:="2222";
    //    write:=bufio.NewWriter(file);
    //    write.WriteString(str);
    //    write.Flush();
    //}
    //文件已存在,追加
    //func main(){
    //    file,_:=os.OpenFile("1.txt",os.O_WRONLY|os.O_APPEND,0666);
    //    str:="11111111";
    //    write:=bufio.NewWriter(file);
    //    write.WriteString(str);
    //    write.Flush();
    //}
    //将文件显示在终端,然后追加
    func main(){
        file,_:= os.OpenFile("1.txt",os.O_RDWR|os.O_APPEND,0666);
        read:=bufio.NewReader(file);
        for {
            str,err:= read.ReadString('
    ');
            if err == io.EOF {
                break;
            }
            fmt.Print(str);
        }
        newStr:="aaaaaaaaaaaaaaaaa";
        write:=bufio.NewWriter(file);
        write.WriteString(newStr);
        write.Flush();
    
    }

     3.将一个文件内容复制到另外一个文件内容下

    package main
    
    //将一个文件里面内容导入另外一个文件里面去
    //func main(){
    //    filePath:="1.txt";
    //    filePath2:="2.txt";
    //    data,err:=ioutil.ReadFile(filePath);
    //    if err != nil {
    //        fmt.Println("file error");
    //    }
    //    ioutil.WriteFile(filePath2,data,0666);
    //}

     4.复制图片内容

    package main
    import (
        "bufio"
        "fmt"
        "io"
        "os"
    )
    //复制图片内容
    func main(){
        sourceFile,err:=os.Open("1.jpg");
        if err != nil {
            fmt.Println("open file is error");
        }
        reader:= bufio.NewReader(sourceFile);
        dstFile,error:=os.OpenFile("2.jpg",os.O_CREATE|os.O_RDWR,0666);
        if error != nil {
            fmt.Println("open file erorr");
        }
        writer:=bufio.NewWriter(dstFile);
        io.Copy(writer,reader);
    }
  • 相关阅读:
    iTOP-4412开发板低功耗高性能的开源硬件平台——上手评测
    迅为三星Exynos 4412开发板四核Cortex-A9ARM安卓linux开发板
    体验更低功耗的开源硬件平台-迅为4412开发板
    【分享】iTOP-4412开发板使用之初体验[多图]
    【嵌入式开发板】大家都在玩儿的4412开发板
    [POJ] 2965.The Pilots Brothers' refrigerator
    [POJ] 1753.Flip Game
    [HDOJ] 1753.大明A+B (大数加法)
    C++ Primer 第五版 一些遇到的注意点记录。
    [HDOJ] 1172.猜数字
  • 原文地址:https://www.cnblogs.com/zh718594493/p/14094957.html
Copyright © 2011-2022 走看看