fix `-o=""/" "` don't write to file

This commit is contained in:
mz 2021-11-14 12:59:46 +08:00
parent 272eb40d5b
commit 115bd2af03
1 changed files with 12 additions and 7 deletions

View File

@ -23,10 +23,16 @@ var (
PrintNum = 10
)
// 是否打印测试结果
func NoPrintResult() bool {
return PrintNum == 0
}
// 是否输出到文件
func noOutput() bool {
return Output == "" || Output == " "
}
type PingData struct {
IP *net.IPAddr
Sended int
@ -60,10 +66,7 @@ func (cf *CloudflareIPData) toString() []string {
}
func ExportCsv(data []CloudflareIPData) {
if Output == "" {
Output = defaultOutput
}
if len(data) == 0 {
if noOutput() || len(data) == 0 {
return
}
fp, err := os.Create(Output)
@ -73,8 +76,8 @@ func ExportCsv(data []CloudflareIPData) {
}
defer fp.Close()
w := csv.NewWriter(fp) //创建一个新的写入文件流
w.Write([]string{"IP 地址", "已发送", "已接收", "丢包率", "平均延迟", "下载速度 (MB/s)"})
w.WriteAll(convertToString(data))
_ = w.Write([]string{"IP 地址", "已发送", "已接收", "丢包率", "平均延迟", "下载速度 (MB/s)"})
_ = w.WriteAll(convertToString(data))
w.Flush()
}
@ -157,5 +160,7 @@ func (s DownloadSpeedSet) Print(ipv6 bool) {
for i := 0; i < PrintNum; i++ {
fmt.Printf(dataFormat, dateString[i][0], dateString[i][1], dateString[i][2], dateString[i][3], dateString[i][4], dateString[i][5])
}
fmt.Printf("\n完整测速结果已写入 %v 文件,请使用记事本/表格软件查看。\n", Output)
if !noOutput() {
fmt.Printf("\n完整测速结果已写入 %v 文件,请使用记事本/表格软件查看。\n", Output)
}
}