标签:files err 先写 return string nil fmt 前半部 客户端
代码只有自己懂了,
写得比较肿,以后再优化吧。
就是每天定期,或是每次生成软件包时,收集软件包的信息,
发送到go的api接口,
然后,再作数据分析。
utils.go
package main import ( "bufio" "fmt" "io" "io/ioutil" "os" "path/filepath" ) func GetAllFile(pathname string, files []string) ([]string, error) { fromSlash := filepath.FromSlash(pathname) //fmt.Println(fromSlash) rd, err := ioutil.ReadDir(fromSlash) if err != nil { //log.LOGGER("Error").Error("read dir fail %v\n", err) fmt.Println("read dir fail:", err) return files, err } for _, fi := range rd { if fi.IsDir() { fullDir := filepath.Join(fromSlash, fi.Name()) files, err = GetAllFile(fullDir, files) if err != nil { fmt.Println("read dir fail:", err) //log.LOGGER("Error").Error("read dir fail: %v\n", err) return files, err } } else { fullName := filepath.Join(fromSlash, fi.Name()) files = append(files, fullName) } } return files, nil } func WritetoFile(fileName string, content []string) error { f, err := os.OpenFile(fileName, os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644) if err != nil { fmt.Printf("create map file error: %v\n", err) return err } defer f.Close() w := bufio.NewWriter(f) for _, item := range content { fmt.Fprintln(w, item) } return w.Flush() } func ReadFromFile(fileName string) ([]string, error) { content := []string{} fi, err := os.Open(fileName) if err != nil { fmt.Printf("Error: %s\n", err) return nil, err } defer fi.Close() br := bufio.NewReader(fi) for { item, _, c := br.ReadLine() if c == io.EOF { break } content = append(content, string(item)) } return content, nil }
main.go
package main import ( "fmt" ) func main() { var oldContent, newContent []string logFile := "D:\\temp\\log.txt" oldContent, err := ReadFromFile(logFile) if err != nil { panic(err) } for i, v := range oldContent { fmt.Println(i, v) } newContent, err = GetAllFile("D:\\software", newContent) if err != nil { panic(err) } err = WritetoFile(logFile, newContent) if err != nil { panic(err) } }
标签:files,err,先写,return,string,nil,fmt,前半部,客户端 来源: https://www.cnblogs.com/aguncn/p/12026381.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。