refactor(tool): 优化文件处理逻辑和性能
This commit is contained in:
@@ -48,7 +48,6 @@ func main() {
|
|||||||
|
|
||||||
//检测./upload
|
//检测./upload
|
||||||
fmt.Println("程序启动成功,正在检测txt文件")
|
fmt.Println("程序启动成功,正在检测txt文件")
|
||||||
//os.Mkdir("./upload", os.ModePerm)
|
|
||||||
for {
|
for {
|
||||||
files, err := getTxtFiles("./")
|
files, err := getTxtFiles("./")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -62,16 +61,19 @@ func main() {
|
|||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
processFile(filePath)
|
processFile(filePath)
|
||||||
os.Remove(filePath)
|
err := os.Truncate(filePath, 0)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("清空文件失败:", err)
|
||||||
|
}
|
||||||
wg.Done()
|
wg.Done()
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
||||||
}
|
}
|
||||||
time.Sleep(2 * time.Second)
|
time.Sleep(time.Minute)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func uploadDataToServer(data string) error {
|
func uploadDataToServer(data string) error {
|
||||||
params := url.Values{}
|
params := url.Values{}
|
||||||
params.Set("token", viper.GetString("token"))
|
params.Set("token", viper.GetString("token"))
|
||||||
@@ -88,10 +90,8 @@ func uploadDataToServer(data string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取目录中的所有txt文件
|
// 获取目录中的所有txt文件
|
||||||
func getTxtFiles(dir string) ([]string, error) {
|
func getTxtFiles(dir string) (txtFiles []string, err error) {
|
||||||
var txtFiles []string
|
err = filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
|
||||||
|
|
||||||
err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -151,6 +151,7 @@ func processFile(filePath string) {
|
|||||||
|
|
||||||
if err := scanner.Err(); err != nil {
|
if err := scanner.Err(); err != nil {
|
||||||
fmt.Printf("读取文件 %s 错误: %v\n", filePath, err)
|
fmt.Printf("读取文件 %s 错误: %v\n", filePath, err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Printf("文件【%s】处理完成,共处理 %d 行数据\n", filePath, lineCount)
|
fmt.Printf("文件【%s】处理完成,共处理 %d 行数据\n", filePath, lineCount)
|
||||||
|
Reference in New Issue
Block a user