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

    Go文件操作

    go对于文件的操作提供了多个包进行支持,目前学习了这部分,故对该包的使用记录一下。

    package main
    
    import (
    	"fmt"
    	"os"
    	"io"
    )
    
    func main(){
    	fi, err := os.Open("main.go")
    	if err != nil{
    		fmt.Println(err)
    		return
    	}
    	wi, err := os.Create("wo.go")
    	if err != nil{
    		fmt.Println(err)
    		return
    	}
    	data := make([]byte, 100)
    	for {
    		n, err := fi.Read(data)
    		if err != nil{
    			if err == io.EOF{
    				break//已经读取完了
    			}else{
    				fmt.Println(err)
    			}
    		}
    		w, err := wi.Write(data[0:n])
    		if err != nil{
    			fmt.Println(err)//出错了
    			return
    		}
    		if w != n{
    			fmt.Println("也是有错误的!")
    			return
    		}
    		fmt.Print(string(data[0:n]))
    
    	}
    }
    

    获取文件的属性

    package main
    
    import (
    	"fmt"
    	"os"
    )
    
    func main(){
    	fileInfo, err := os.Stat("main.go")
    	if err != nil{
    		fmt.Println(err)
    	}
    	fmt.Print(fileInfo)
    }
    

    其中FileInfo的结构如下:

    type FileInfo interface {
    	Name() string       // base name of the file 文件名
    	Size() int64        // length in bytes for regular files; system-dependent for others
    	Mode() FileMode     // file mode bits
    	ModTime() time.Time // modification time
    	IsDir() bool        // abbreviation for Mode().IsDir()
    	Sys() interface{}   // underlying data source (can return nil)
    }
    
  • 相关阅读:
    zookeeper 初步学习
    nginx+redis+4个tomcat 负载均衡
    nginx的配置文件解析
    nginx-----惹不起的端口修改
    Api2Doc生成 Restful API 文档
    swagger2 注解整体说明
    SpringMVC 中xml 配置多数据源
    lombok 注解使用
    springboot 中 集成druid ,redis
    spring学习---day01
  • 原文地址:https://www.cnblogs.com/zzr-stdio/p/9873943.html
Copyright © 2011-2022 走看看