zoukankan      html  css  js  c++  java
  • Go语言

    Go语言文件操作涉及包有osio这两个。

    使用字节操作读文件:

    func readByteFromFile() {
    	file, err := os.Open("go.mod")
    	if err != nil {
    		fmt.Printf("err >> %v
    ", err)
    	}
    	defer file.Close()
    
    	var tmp = make([]byte, 128)
    	for {
    		len, err := file.Read(tmp[:])
    		if err == io.EOF {
    			break
    		}
    		if err != nil {
    			fmt.Printf("err >> %v
    ", err)
    		}
    		fmt.Print(string(tmp[:len]))
    	}
    }
    

    使用字符操作读取文件:

    func readBuffFromFile() {
    	file, err := os.Open("go.mod")
    	if err != nil {
    		fmt.Printf("err >> %v
    ", err)
    	}
    	defer file.Close()
    
    	reader := bufio.NewReader(file)
    	for {
    		str, err := reader.ReadString('
    ')
    		if err == io.EOF {
    			break
    		}
    		if err != nil {
    			fmt.Printf("err >> %v
    ", err)
    		}
    		fmt.Print(str)
    	}
    }
    

    使用ioutil读取文件:

    func readFileUseUtil() {
    	str, err := ioutil.ReadFile("go.mod")
    	if err != nil {
    		fmt.Printf("err >> %v
    ", err)
    	} else {
    		fmt.Println(string(str))
    	}
    }
    

    使用File写文件:

    func writeStringToFile(content string) (n int, err error) {
    	file, err := os.OpenFile("demo.txt", os.O_WRONLY|os.O_CREATE, 0666)
    	if err != nil {
    		fmt.Printf("err >> %v
    ", err)
    	}
    	defer file.Close()
    	return file.WriteString(content)
    }
    
    // 调用方式:
    n, err := writeStringToFile("Hi Gooooo!")
    if err != nil {
    	fmt.Printf("err >> %v
    ", err)
    }
    fmt.Printf("写入长度n=%d
    ", n)
    
  • 相关阅读:
    服务器出现大量的127.0.0.1:3306 TIME_WAIT连接 解决方法 [转载]
    phpize安装php扩展CURL
    linux位数查看
    Linux下Sublime Text 3的安装
    ECstore后台报表显示空白问题解决办法
    centos 上安装phpstorm
    Nginx禁止目录执行php文件权限
    vue 动画
    vue的路由
    组件的传值 组件之间的通讯
  • 原文地址:https://www.cnblogs.com/itqn/p/15057239.html
Copyright © 2011-2022 走看看