• Golang 读写文件的操作


    • golang 创建文本文件

      f, err := os.Create(filenme)
      defer f.Close()
      if err != nil {
      	fmr.Println(err.Error())
      }else{
      	_, err = f.Write([]byte("要写入的文本内容"))
      	checkErr(err)
      }
      
    • golang 读取文本文件

      • f, err := os.Openfile(filename, os.O_RDONLY, 0600)
        	defer f.Close()
        	if err != nil {
        		fmt.Println(err.Error())
        	}else{
        		contentByte, err = ioutil.ReadAll(f)
        		checkErr(err)
        		fmt.Println(string(contentByte))
        	}
        
      • Openfile用法:

        • os.OpenFile(文件名, 打开方式,打开模式)
      • // 打开方式
        const(
        	// 只读模式
        	O_RDONLY int = syscall.O_RDONLY // open the file read-only
        	// 只写模式
        	O_WRONLY int - syscall.O_WRONLY // open the file write-only
        	// 可写可读
        	O_RDWR int = syscall.0_RDWR // open the file read-write
        	// 追加内容
        	O_APPEND int = syscall.O_APPEND 
        	//创建文件,如果文件不存在
        	O_CREATE int = syscall.O_CREAT // create a new file if none exists
        	// 与创建文件一同使用。文件必须存在
        	O_EXCL int = syscall.O_EXCL 
        	// 打开一个同步的文件流
        	O_SYNC int = syscall.O_SYNC // open for synchronous i/o
        	// 如果可能
        	O_TRUNC int = syscall.O_TRUNC 
        )
        
      • // 打开模式
        const (
        ModeDir FileMode = 1 << (32 - 1 - iota) 
        ModeAppend // a: append-only 追加模式
        ModeExclusive //  
        ModeTemporary // T: temporary file (not backed up) 临时文件
        ModeSymlink // L: symbolic link 象征性的关联
        ModeDevice // D: device file 设备文件
        ModeNamedPipe // p: named pipe (FIFO) 命名管道
        ModeSocket // S: Unix domain socket Unix 主机 socket
        ModeSetuid // u: setuid 设置uid
        ModeSetgid // g: setgid 设置gid
        ModeCharDevice // c: Unix character device, when ModeDevice is set Unix 字符设备,当设备模式是设置Unix
        ModeSticky // t: sticky 粘性的
        // Mask for the type bits. For regular files, none will be set. bit位遮盖.不变的文件设置为none
        ModeType = ModeDir | ModeSymlink | ModeNamedPipe | ModeSocket | ModeDevice
        ModePerm FileMode = 0777 // Unix permission bits 权限位.
        )
        
      • golang 写入文件文本

      • f, err := os.OpenFile(filename, os.O_WINLY|OS.O_TRUNC, 0600)
        	defer f.Close()
        	if err != nil {
        		fme.Println(err.Error())
        	}else{
        		_, err = f.Write([]Byte("要写入的文本文件"))
        		checkErr(err)
        	}
        
  • 相关阅读:
    为Ubuntu配置远程X访问(XDMCP & Xming)
    javascript definite guide 笔记
    marvell 88f6282 uboot编译
    qt下的跨目录多工程编译
    15 Remote Desktop Solutions for Linux.
    ubuntu中设置synergy自动开机启动
    UML 基础: 组件图
    UML基础: 统一建模语言简介
    绘制整洁的 UML 图
    养成良好的绘制 UML 序列图的习惯
  • 原文地址:https://www.cnblogs.com/jcjc/p/12555565.html
Copyright © 2020-2023  润新知