test_data/utils/file.go
2024-07-17 15:13:00 +08:00

61 lines
1.2 KiB
Go

package utils
import (
"fmt"
"log"
"os"
"path/filepath"
"strconv"
"time"
)
// FormatFileSize
/*
@Description: 转换文件单位
@param fileSize 文件大小
@return size 字符串
*/
func FormatFileSize(fileSize float64) (size string) {
units := []string{"B", "KB", "MB", "GB", "TB"}
var unitIndex int
for fileSize >= 1024 && unitIndex < len(units)-1 {
fileSize /= 1024
unitIndex++
}
return fmt.Sprintf("%.2f %s", fileSize, units[unitIndex])
}
func FillData(num int) []string {
return make([]string, num)
}
func MakeDir(filePath string) {
_, err := os.Stat(filePath)
if os.IsNotExist(err) {
err = os.MkdirAll(filePath, os.ModePerm)
if err != nil {
log.Println("创建文件夹失败:", err)
}
}
}
// DecodeToUnicode unicode中文解码
func DecodeToUnicode(name string) (string, error) {
// 使用 strconv.Unquote 解码
decodedStr, err := strconv.Unquote(`"` + name + `"`)
if err != nil {
return "", err
}
return decodedStr, nil
}
func MakeSavePath(s string) string {
//wd, _ := os.Getwd()wd,
folderPath := filepath.Join("files", time.Now().Format("2006-01"), s)
if _, err := os.Stat(folderPath); os.IsNotExist(err) {
_ = os.MkdirAll(folderPath, os.ModePerm)
}
return folderPath
}