zoukankan      html  css  js  c++  java
  • 读写文件

    读取用户输入
    fmt.Scanln(&num,&str)//从控制台读取用户输入
    scanf,第一个参数是一个读取格式。
    input := "12 , 1 , 21"
    format := "%d , %s , %d"

    var name string
    var sex int
    var age int
    fmt.Sscanf(input,format,&sex,&name,&age)
    //Sscanf,从字符串中根据固定格式读取数据,注意不同数据之间一定要用空格分割开

    使用bufio包提供的缓冲来读取。
    inputReader = bufio.NewReader(os.Stdin)//创建一个读取器与标准输入绑定
    input, err = inputReader.ReadString(' '),//以 为分割符来读取一段字符串

    NewReader(),函数的参数是一个io.Reader接口的任意对象,返回一个新的带缓冲的io.Reader.
    从实参的reader指定的读取器中读取。

    返回的读取器提供一个ReaderString(delim byte)的方法,该方法从文件中读取内容,直到碰到delim指定的字符,然后将内容以及delim一起放入缓冲区。
    如果读取的过程中发生错误返回nil,如果一直读取到文件结束,则返回读取到的字符串和io.EOF,
    如果没有碰到delim,则返回错误err!=nil.

    标准输出是os.StdoutStderr用来显示错误信息。
    out :=bufio.NewWriter(os.Stdout)
    out.WriteString("hashdfhashdfhasdf")
    out.Flush()


    文件读写:

    在Go语言中,使用os.File类型的指针指向文件。(也叫做文件句柄)
    os.Stdin、os.Stdout他们的类型都是*os.File(os.Stdin实现了Read()方法,所以也实现了io.Reader接口)
    读取文件,
    inputFile,inputError := os.Open("input.dat"),返回一个io.Reader类型的对象
    defer inputFile.Close() //结束之后关闭连接
    inputReader := bufio.NewReader(inputFile)
    然后就开始读读操作。

    将整个文件读到一个字符串里:
    io/ioutil包下的ioutil.ReadFile()方法。返回一个[]byte类似了WriteFile()可以将[]byte的值写入文件。
    inputfile := "D:\迅雷下载\XH市首富.HD1280高清国语中字版.mp4"
    outputfile := "D:\迅雷下载\ZC.mp4"
    filestring,_ :=ioutil.ReadFile(inputfile)
    ioutil.WriteFile(outputfile,filestring,0644)

    Read()读取一个字节
    n,err := Read(buf)//读取一个缓冲数组那么大。n是读回来的长度。
    数据在buf中。

    从文件中直接读取到对应的变量中,使用fmt.Fscanln(file,&v1,&v2&v3)

    path包里有一个子包filepath,提供了跨平台处理文件名和路径的函数。

    compress包:读取压缩文件
    f1,err := os.Open(fName)
    fz, err := gzip.NewReader(f1)
    r = bufio.NewReader(fz)

    写文件:
    outputFile,err := os.OpenFile("output.dat",os.O_WRONLY|os.O_CREATE,0666)
    outputWrite := bufio.NewWriter(outputFile)
    outputWrite.WriteString(string)
    outputWrite.Flush()

    os.O_RDONLY只读
    os.O_WRONLY只写
    os.O_CREATE如果文件不存在,就创建
    os.O_TRUNC如果指定文件已存在,就将文件长度截为0

  • 相关阅读:
    1219
    hdu 1280 前m大的数 和 hdu 4223 Dynamic Programming?
    codeforces Lucky Sum
    20121028
    asp.net(c#) 取得网卡mac地址
    代码使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图
    SQL Server日志文件总结及日志满的处理
    服务器应用程序不可用解决方案集
    如何调用存储过程,有返回值的,有参数的,存储过程中调用存储过程。(MS SQL Server)
    让网页自动刷新
  • 原文地址:https://www.cnblogs.com/mcmx/p/11380585.html
Copyright © 2011-2022 走看看