1 package main
2
3 import (
4 "fmt"
5 "os"
6 "path"
7 "path/filepath"
8 )
9
10 func main() {
11 fileInfo, err := os.Stat("C:\\Users\\fcl18\\Desktop\\发言.txt")
12 if err != nil {
13 fmt.Println("err", err)
14 return
15 }
16 fmt.Println(fileInfo)
17
18 fmt.Println(fileInfo.Name()) //文件名
19 fmt.Println(fileInfo.Size()) //文件大小 单位 字节
20 fmt.Println(fileInfo.IsDir()) // 判断是否为目录
21 fmt.Println(fileInfo.ModTime()) //修改时间
22 fmt.Println(fileInfo.Mode()) //权限
23
24 filename1 := "C:\\Users\\fcl18\\Desktop\\发言.txt"
25 filename2 := "ab.txt"
26 //判断是否为绝对路径
27 fmt.Println(filepath.IsAbs(filename1))
28 fmt.Println(filepath.IsAbs(filename2))
29 //获得路径地址 如果是相对路径就会根据main所在目录拼接成完整的目录
30 fmt.Println(filepath.Abs(filename1))
31 fmt.Println(filepath.Abs(filename2))
32
33 //获取父目录
34 fmt.Println("父目录", path.Join(filename1, ".."))
35
36 //创建目录 如果已经存在不会再创建
37 //Mkdir只能创建一层文件夹
38 err1 := os.Mkdir("E:\\网页\\招生+报名\\aa", os.ModePerm)
39 if err1 != nil {
40 fmt.Println("err", err)
41 return
42 }
43 fmt.Println("文件夹创建成功")
44 //MkdirAll可以全部创建
45 err2 := os.MkdirAll("E:\\网页\\招生+报名\\aa\\bb\\cc\\dd", os.ModePerm)
46 if err2 != nil {
47 fmt.Println("err", err2)
48 return
49 }
50 fmt.Println("多层文件夹创建成功")
51
52 //创建文件
53 file1, err3 := os.Create("E:\\网页\\招生+报名\\aa\\a.txt")
54 if err3 != nil {
55 fmt.Println("err", err3)
56 return
57 }
58 fmt.Println(file1.Name())
59 //相对目录
60 file2, err4 := os.Create(filename2)
61 if err4 != nil {
62 fmt.Println("err", err4)
63 return
64 }
65 fmt.Println(file2.Name())
66
67 // file操作
68 file3, err5 := os.Open(filename1) //只读
69 if err5 != nil {
70 fmt.Println("err", err5)
71 return
72 }
73 fmt.Println(file3)
74
75 /*
76 openFile
77 第一个参数 文件目录地址
78
79 第二个参数:文件打开方式
80 O_RDONLY int = syscall.O_RDONLY // open the file read-only.
81 O_WRONLY int = syscall.O_WRONLY // open the file write-only.
82 O_RDWR int = syscall.O_RDWR // open the file read-write.
83 // The remaining values may be or'ed in to control behavior.
84 O_APPEND int = syscall.O_APPEND // append data to the file when writing.
85 O_CREATE int = syscall.O_CREAT // create a new file if none exists.
86 O_EXCL int = syscall.O_EXCL // used with O_CREATE, file must not exist.
87 O_SYNC int = syscall.O_SYNC // open for synchronous I/O.
88 O_TRUNC int = syscall.O_TRUNC // truncate regular writable file when opened.
89
90 第三个参数:文件权限 文件不存在时创建 需指定权限
91 */
92 file4, err6 := os.OpenFile(filename1, os.O_RDONLY|os.O_WRONLY, os.ModePerm)
93 if err6 != nil {
94 fmt.Println("err", err6)
95 return
96 }
97 fmt.Println(file4.Name())
98
99 //关闭文件
100 file4.Close()
101
102 //删除文件或文件夹
103 //Remove只能删除单层为空的目录
104 err7 := os.Remove("E:\\网页\\招生+报名\\aa\\a.txt")
105 if err7 != nil {
106 fmt.Println("err", err7)
107 return
108 }
109 fmt.Println("删除成功")
110 //RemoveAll不管目录是否为空都会删除
111 err8 := os.RemoveAll("E:\\网页\\招生+报名\\aa")
112 if err8 != nil {
113 fmt.Println("err", err8)
114 return
115 }
116 fmt.Println("删除成功")
117
118 }

凑字数

凑字数凑字数

凑字数凑字数凑字数

凑字数凑字数凑字数凑字数

凑字数凑字数凑字数凑字数凑字数

最新文章

  1. Authentication of Django
  2. Xdebug文档(一)基本特性
  3. 监控流量shell脚本
  4. 【11_83】Remove Duplicates from Sorted List
  5. 基于AFNetWorking 3.0封装网络请求数据的类
  6. Oracle 中的replace函数的应用
  7. 【学习总结】UIGestureRecognizer(手势识别器)
  8. 【原】Redis基本操作
  9. mvc性能优化
  10. java之NIO编程
  11. g++ 学习笔记
  12. spring中获取dao或对象中方法的实例化对象
  13. 【省时的 IDEA 配置 】 JRebel Mybatis Problems Spring Auto-Scan
  14. 写在开始前---ajax中的会话过期与重新登录
  15. html5-块元素和内联元素
  16. [luogu2469] 星际竞速
  17. CSS规范 - 优化方案--(来自网易)
  18. 动态规划--电路布线(circuit layout)
  19. H5本地存储二
  20. 消息/事件, 同步/异步/协程, 并发/并行 协程与状态机 ——从python asyncio引发的集中学习

热门文章

  1. javascript相邻节点元素获取
  2. PHP反向代理(转)
  3. C#反射跟特性
  4. Luogu1655 小朋友的球 (组合数学,第二类斯特林数,高精)
  5. Seatunnel超高性能分布式数据集成平台使用体会
  6. MixCSE:困难样本在句子表示中的使用
  7. BI如何实现用户身份集成自定义安全程序开发
  8. Java基础——01
  9. Linux或Docker里安装minio / Docker中安装h5ai
  10. 【Android 逆向】ARM switch 逆向