利用go语言读取文件,将读到的数据以新的格式写入到新的文件中
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"strconv"
)
func main() {
fl, err := os.OpenFile("./UpdateData.txt", os.O_APPEND|os.O_CREATE, 0644)
var message []Message
var data []Date
file,_:= ioutil.ReadFile("H:\\goProject\\src\\test\\github.com\\zhao\\test\\main\\data.txt")
_ = json.Unmarshal(file,&data)
var k = 0
if err != nil {
return
}
defer fl.Close()
for j := range data {
s,_ :=json.Marshal(data[j].Messages)
_ = json.Unmarshal(s, &message)
for i := range message {
fl.Write([]byte(message[i].Cid+"\t"+strconv.FormatInt(message[i].Height, 10)+"\t" + strconv.FormatInt(message[i].Timestamp, 10)+"\t" +message[i].From+message[i].To+"\t"+message[i].From+"\t"+message[i].Value+message[i].From+"\t"+message[i].Method+"\n"))
k++
}
}
fmt.Print("文件写入完成\n")
fmt.Printf("一共写了%d条数据", k)
}
type Date struct {
TotalCount int64 `json:"totalCount"`
Messages interface{} `json:"messages"`
Methods []string `json:"methods"`
}
type Message struct {
Cid string `json:"cid"`
Height int64 `json:"height"`
Timestamp int64 `json:"timestamp"`
From string `json:"from"`
To string `json:"to"`
Nonce int64 `json:"nonce"`
Value string `json:"value"`
Method string `json:"method"`
}