• golang 读写文件


    package main
    
    import (
        "bufio"
        "flag"
        "fmt"
        "io"
        "os"
        "strconv"
    )
    
    var infile *string = flag.String("i", "infile", "File contains values for sorting")
    var outfile *string = flag.String("o", "outfile", "File to receive sorted values")
    var algorithm *string = flag.String("a", "qsort", "Sort algorithm")
    
    func main() {
        flag.Parse()
        if infile != nil {
            fmt.Println("infile = ", *infile, "outfile = ", *outfile, "algorithm = ", *algorithm)
        }
        file, err := os.Open(*infile)
        if err != nil {
            fmt.Println("Failed to open the input file ", *infile)
            return
        }
        defer file.Close()
        br := bufio.NewReader(file)
        values := make([]int, 0)
        for {
            line, isPrefix, err1 := br.ReadLine()
            if err1 != nil {
                if err1 != io.EOF {
                    err = err1
                }
                break
            }
            if isPrefix {
                fmt.Println("A too long line,seems unexpected.")
                return
            }
            str := string(line)
            value, err1 := strconv.Atoi(str)
            if err1 != nil {
                err = err1
                return
            }
            values = append(values, value)
    
        }
        wfile, ferr := os.Create(*outfile)
        if ferr != nil {
            fmt.Println("Failed to create the output file", *outfile)
            return
        }
        defer wfile.Close()
        length := len(values)
        for i := 0; i < length; i++ {
            for j := i; j < length; j++ {
                if values[i] > values[j] {
                    values[i], values[j] = values[j], values[i]
                }
            }
    
            wfile.WriteString(strconv.Itoa(values[i]) + "
    ")
        }
    
    }
  • 相关阅读:
    Channel 9视频整理【6】
    Channel 9视频整理【5】
    Channel 9视频整理【4】
    Channel 9视频整理【3】
    SQL_Server_2008完全学习之第二章管理工具
    SQL_Server_2008完全学习之第一章入门知识
    【转】大话模拟退火
    Unity使用DLL库
    常用纹理和纹理压缩格式
    Gamma空间和线性空间
  • 原文地址:https://www.cnblogs.com/liyixin/p/4064878.html
Copyright © 2020-2023  润新知