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 ...
随机推荐
- 使用Identity Server 4建立Authorization Server
使用Identity Server 4建立Authorization Server (6) - js(angular5) 客户端 摘要: 预备知识: http://www.cnblogs.com/cg ...
- python逻辑编程之kanren
https://github.com/logpy/logpy https://pypi.org/project/kanren/ https://www.yiibai.com/ai_with_pytho ...
- Flutter 与 Android 的交互
https://juejin.im/post/5cd91de4518825686b120921 https://juejin.im/entry/5b64292be51d451995676398
- CSS ID选择器&通配选择器
ID选择器 ID(IDentity)是编号的意思,一般指定标签在HTML文档中的唯一编号.ID选择器和标签选择器.类选择器的作用范围不同. ID选择器仅仅定义一个对下对象的样式,而标签选择器和类选择器 ...
- 【干货】小程序内嵌 H5 代码详解
自从微信小程序发布了 web-view 组件,使得之前的 H5 网站移植到小程序成为可能.现在,很多项目在迁移的过程中遇到了许多问题,本文通过实例代码,为你讲解迁移过程中的几个典型场景. 1.小程序和 ...
- day35-python之协程
1.协程 # import time # import queue # # def consumer(name): # # print("--->ready to eat baozi. ...
- 逗号分隔的字符串转成表格参与IN条件查询
返回值为'1,2,3,4,5,6,7',是一个字符串,如果要用IN 查询的话sql认为这是一个完整的字符串,需要将内容分隔转换变成table 定义函数如下: create Function sysfS ...
- 【hadoop】看懂WordCount例子
前言:今天刚开始看到map和reduce类里面的内容时,说实话一片迷茫,who are you?,最后实在没办法,上B站看别人的解说视频,再加上自己去网上查java的包的解释,终于把WordCount ...
- 关于SpringBoot下template文件夹下html页面访问的一些问题
springboot整合了springmvc的拦截功能.拦截了所有的请求.默认放行的资源是:resources/static/ 目录下所有静态资源.(不走controller控制器就能直接访问到资源) ...
- Linux环境变量$PATH
3. 使用env命令显示所有的环境变量 # env HOSTNAME=redbooks.safe.org PVM_RSH=/usr/bin/rsh Shell=/bin/bash TERM=xterm ...