我正在使用os從代碼中創建2個文件。創建函數。我正在將一些字符串寫入file1,然后嘗試使用io將file1的內容復制到file2。復制,但它不起作用。沒有拋出任何錯誤。誰能告訴我這里發生了什么?謝謝。游樂場 - https://play.golang.org/p/lv_2VfsNIfIpackage mainimport ( "io" "io/ioutil" "log" "os")func main() { file1, err := os.Create("file1") if err != nil { log.Fatal(err) } file1.WriteString("Some test data") defer file1.Close() defer os.Remove(file1.Name()) log.Println("File1 Data : ", readFile(file1.Name())) file2, err := os.Create("file2") if err != nil { log.Fatal(err) } defer file2.Close() defer os.Remove(file2.Name()) w, err := io.Copy(file2, file1) if err != nil { log.Fatal(err) } log.Println("Copied", w) log.Println("File2 Data : ", readFile(file2.Name()))}func readFile(fname string) string { data, err := ioutil.ReadFile(fname) if err != nil { log.Fatal(err) } return string(data)}我正在得到的輸出,2009/11/10 23:00:00 File1 Data : Some test data2009/11/10 23:00:00 Copied 02009/11/10 23:00:00 File2 Data : 去
1 回答

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
您需要使用 查找回 file1 的開頭,因為您的文件光標位于寫入數據的末尾。file1.Seek(0,0)
...
file1.WriteString("Some test data")
file1.Seek(0,0)
defer file1.Close()
...
- 1 回答
- 0 關注
- 88 瀏覽
添加回答
舉報
0/150
提交
取消