golang-os文件操作
golang-os文件操作
package main import (
"fmt"
"os"
) //func main() {
// f,err :=os.Create("/home/landv/testOne.txt")
// if err != nil {
// fmt.Println("create err:",err)
// return
// }
// defer f.Close()
// fmt.Println("successful")
//}
//func main() {
// f,err :=os.Open("/home/landv/testOne.txt") //以只读方式打开
// if err != nil {
// fmt.Println("create err:",err)
// return
// }
// defer f.Close()
// _, err = f.WriteString("这是一个One测试文件#######")
// if err != nil {
// fmt.Println("WriteString err:",err)
// return
// }
// fmt.Println("successful")
//}
func main() {
f,err :=os.OpenFile("/home/landv/testOne.txt",os.O_RDWR,)
if err != nil {
fmt.Println("create err:",err)
return
}else { content :="这是要追加的内容\n"
n,_ :=f.Seek(,)
_,err =f.WriteAt([]byte(content),n)
}
defer f.Close() //_, err = f.WriteString("这是一个One测试文件#######")
//
//if err != nil {
// fmt.Println("WriteString err:",err)
// return
//} fmt.Println("successful")
}
添加O_APPEND就可以追加内容了
f, err := os.OpenFile(fileName, os.O_WRONLY|os.O_APPEND, )
n,_ :=f.Seek(io.SeekStart,io.SeekEnd)
//使用常量好理解,当然你可以直接写(0,2)
文件读操作
package main import (
"bufio"
"fmt"
"io"
"os"
) func main() {
//_,err :=os.Create("D:/gotest/aaa.txt")
f,err :=os.OpenFile("D:/gotest/aaa.txt",os.O_RDWR,)
if err != nil{
fmt.Println("OpenFile err:",err)
return
}
defer f.Close()
fmt.Println("Suceessful")
//_, _ = f.WriteString("############\n") reader := bufio.NewReader(f) for {
buf, err := reader.ReadBytes('\n')
if err != nil && err==io.EOF{
fmt.Println("文件读取完毕")
return
}else if err != nil {
fmt.Println("err:", err)
}
fmt.Println(string(buf))
}
}
文件拷贝
package main import (
"fmt"
"io"
"os"
) func main() {
//打开读文件
f_r,err :=os.Open("/home/landv/testOne.txt")
if err != nil {
fmt.Println("Open err:",err)
return
}
defer f_r.Close()
//打开写文件
f_w,err :=os.Create("/home/landv/1.txt")
if err != nil {
fmt.Println("Create err:",err)
return
}
defer f_w.Close() //从文件中读取数据,放到缓冲区中
buf := make([]byte, )
//循环从读文件中,获取数据,原封不动的写到另一个文件中
for { n, err := f_r.Read(buf)
if err != nil && err == io.EOF {
fmt.Printf("读完了;n=%d\n", n)
return
}
_, _ = f_w.Write(buf[:n]) //读多少,写多少 }
}
目录操作
package main import (
"fmt"
"os"
) func main() { fmt.Println("请输入都要查询的目录:")
var path string
_, _ = fmt.Scan(&path) f, err := os.OpenFile(path, os.O_RDONLY, os.ModeDir)
if err != nil {
fmt.Println("err:", err)
}
defer f.Close() //读取目录项
info, err := f.Readdir(-)//-1 读取目录中所有的目录项
//变量返回的切片
for _, fileInfo := range info{
if fileInfo.IsDir(){
fmt.Println(fileInfo.Name(),"是一个目录")
fmt.Println("时间是:",fileInfo.ModTime())
}else {
fmt.Println(fileInfo.Name(),"是一个文件")
}
}
}
golang-os文件操作的更多相关文章
- golang 之文件操作
文件操作要理解一切皆文件. Go 在 os 中提供了文件的基本操作,包括通常意义的打开.创建.读写等操作,除此以外为了追求便捷以及性能上,Go 还在 io/ioutil 以及 bufio 提供一些其他 ...
- python学习笔记(22)-os文件操作模块
疑问: 如果打开操作一个文件,是用绝对路径好还是相对路径好? os模块,在lib下面,可以直接引入的,直接使用import. 一.新建一个目录,新建一个文件夹 import os #新建一个文件夹 o ...
- python文件操作os模块
Python 统计某一文件夹下文件数量 使用python pathlib模块 from pathlib import Path dir_path = ' ' print(len(list(Path( ...
- go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )
go语言文件操作,这期资料比较详细 欢迎加入go语言群: go语言深圳群 golang深圳 218160862 点击加入 文件操作 func Open(name string) (file *File ...
- GO语言的进阶之路-Golang字符串处理以及文件操作
GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...
- golang中的文件操作
一.文件的基本介绍 文件是数据源(保存数据的地方)的一种,比如经常使用的word文档,txt文件,excel文件都是文件.文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声音等等. ...
- Golang字符串处理以及文件操作
一.整数 1.int与uint的初值比较以及其大小. 1 /* 2 #!/usr/bin/env gorun 3 @author :xxxx 4 Blog:http://www.cnblogs.com ...
- Golang文件操作整理
基本操作 文件创建 创建文件的时候,一定要注意权限问题,一般默认的文件权限是 0666 关于权限的相关内容,具体可以参考鸟叔p141 这里还是再回顾下,文件属性 r w x r w x r w x,第 ...
- Python os模块之文件操作
基本概念:C:\\haoguo.txt 路径: C:\\ 文件名: haoguo 后缀名:.txt 1. 文件名与后缀分离 2. 路径与文件分离 3. 获取当前路径 4. 文件名与后缀合并 5. 路径 ...
- golang基础知识之文件操作
读取文件所有内容以及获得文件操作对象 package mainimport ( "bufio" "fmt" "io" "io/io ...
随机推荐
- windows下pyinstaller打包踩坑记录
示例: 需要打包的是 ReadConfig.py 文件,同文件夹下调用了Interface.py文件,ui文件夹下调用了 Ui_config.py和Ui_Error.py文件,Interface.py ...
- python 基础(实例1——登陆小游戏)
一个简单的登陆小游戏,输入用户名和密码,如果和user_passwd.txt中内容匹配,则打印“welcome to login...”,如果三次输入错误则将该用户列入黑名单,无法再用该用户名登陆. ...
- ubuntu安装mysql数据库方法
ubuntu基于linux的免费开源桌面PC操作系统,十分契合英特尔的超极本定位,支持x86.64位和ppc架构.一个比较流行的Linux操作系统,不仅简单易用,而且和Windows相容性非常好.那么 ...
- css选择符优先级
- Java新功能之方法引用
方法引用的使用 最初,引用只是针对引用类型完成的,也就是只有数组.类.接口才具备引用操作.JDK1.8后追加了方法引用.实际上引用的本质就是别名. 因此方法的引用就是别名的使用. 方法的引用有四种形式 ...
- jar包下载网站
https://mvnrepository.com/ https://www.kumapai.com/open/query/?querytype=title&querykey=cglib ht ...
- 在LINUX下ORACLE11.2.04的安装脚本及静默安装
首先写好配置环境脚本 cd /opt vi oraclesetup #!/bin/bashecho "back file to filebackup"mkdir -p /opt/f ...
- Schema学习【一】
XML Schema 是基于 XML 的 DTD 替代者. 什么是 XML Schema? XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD. XML Schema: 定义 ...
- 2013.5.3 - KDD第十五天
今天上午把昨天的想法给中秋发过去了,然后我就开始科普随机森林: 随机森林是一种比较新的机器学习模型.经典的机器学习模型是神经网络,有半个多世纪的历史了.神经网络预测精确,但是计算量很大.上世纪八十年代 ...
- vmware联网解决方案:host-only共享上网
一.需求说明 vmware通过桥接的方式可以上外网,但是虚拟机的IP地址必须和物理网卡在同一网段,上网环境不同虚拟机必须跟着换ip地址很麻烦,所以最好是采用host-only方式上网. 特别是做架构实 ...