3 Star 0 Fork 0

neuro-netw0rk/server-golib

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
file.go 1.47 KB
一键复制 编辑 原始数据 按行查看 历史
LeoWang 提交于 7个月前 . 整合golib和serverlib
package utils
import (
"os"
jsoniter "github.com/json-iterator/go"
)
// 判断文件或目录是否存在
func Exists(path string) bool {
_, err := os.Stat(path)
return err == nil || os.IsExist(err)
}
func FileSize(file string) (int64, error) {
f, e := os.Stat(file)
if e != nil {
return 0, e
}
return f.Size(), nil
}
func LoadFile(path string) ([]byte, bool) {
fileSize, err := FileSize(path)
if nil != err || fileSize < 1 {
return nil, false
}
buf := make([]byte, fileSize)
f, err := os.Open(path)
defer f.Close()
if nil != err {
return nil, false
}
n, err := f.Read(buf)
if nil != err || fileSize != int64(n) {
return nil, false
}
return buf, true
}
func LoadConf(path string, cf interface{}) bool {
fileSize, err := FileSize(path)
if nil != err || fileSize < 1 {
return false
}
buf := make([]byte, fileSize)
f, err := os.Open(path)
defer f.Close()
if nil != err {
return false
}
n, err := f.Read(buf)
if nil != err || fileSize != int64(n) {
return false
}
if nil != UnmarshalJson(buf, cf) {
return false
}
return true
}
func IsExist(path string) bool {
_, err := os.Stat(path)
return err == nil || os.IsExist(err)
}
func SaveConf(conf interface{}, path string) bool {
buf, err := jsoniter.MarshalIndent(conf, "", " ")
if nil != err {
return false
}
f, err := os.Create(path)
if nil != err {
return false
}
defer f.Close()
size := len(buf)
n, err := f.Write(buf)
if nil != err || n != size {
return false
}
return true
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/neuro-netw0rk/server-golib.git
git@gitee.com:neuro-netw0rk/server-golib.git
neuro-netw0rk
server-golib
server-golib
v0.0.5-beta2

搜索帮助