This commit is contained in:
azw 2024-08-03 16:22:39 +08:00
parent 461f66af6a
commit 8d8e92d31e
3 changed files with 39 additions and 5 deletions

View File

@ -1,13 +1,11 @@
package f5 package f5
import ( import (
"bufio"
"encoding/json" "encoding/json"
"fmt" "fmt"
"os" "math/rand"
"q5" "q5"
"reflect" "reflect"
"math/rand"
) )
type MetaTable interface { type MetaTable interface {
@ -119,8 +117,7 @@ func (this *RawMetaTable[T]) Load() {
if this.NoLoad { if this.NoLoad {
return return
} }
if f, err := os.Open(this.FileName); err == nil { if jsonStr, err := ReadJsonFile(this.FileName); err == nil {
jsonStr, _ := bufio.NewReader(f).ReadString(0)
switch q5.JsonStrType(jsonStr) { switch q5.JsonStrType(jsonStr) {
case q5.JSON_ARRAY: case q5.JSON_ARRAY:
break break

8
sysutils_unix.go Normal file
View File

@ -0,0 +1,8 @@
//go:build unix
// +build unix
package f5
func ReadJsonFile(fileName string) (string, error) {
return q5.ReadTextFile(fileName)
}

29
sysutils_windows.go Normal file
View File

@ -0,0 +1,29 @@
//go:build windows
// +build windows
package f5
import (
"q5"
"strings"
)
func ReadJsonFile(fileName string) (string, error) {
if tmpStr, err := q5.ReadTextFile(fileName); err != nil {
return tmpStr, err
} else {
switch q5.JsonStrType(tmpStr) {
case q5.JSON_ARRAY, q5.JSON_OBJECT:
{
return tmpStr, nil
}
default:
index := strings.LastIndex(fileName, "/")
if index <= 0 {
return q5.ReadTextFile(fileName + "/" + tmpStr)
} else {
return q5.ReadTextFile(fileName[0:index+1] + tmpStr)
}
}
}
}