我制作了一個(gè)小型服務(wù)應(yīng)用程序,將其輸出寫(xiě)入多個(gè)文件。該服務(wù)必須在 Windows 和 Linux 上運(yùn)行。Windows 上的一切都是笨拙的,但在 Linux 上,文件被創(chuàng)建,但都是空的。以下小程序顯示了完全相同的行為:package mainimport ( "bufio" "fmt" "os")func main() { f, err := os.OpenFile("test.txt", os.O_APPEND|os.O_CREATE, 0777) if err != nil { fmt.Println(err.Error()) return } defer f.Close() w := bufio.NewWriter(f) _, err = w.Write([]byte("hello")) if err != nil { fmt.Println(err.Error()) } w.Flush()}運(yùn)行時(shí),上面的代碼在Linux上似乎沒(méi)有輸出任何錯(cuò)誤。從 test.txt 的文件大小可以看出,它在 Windows 上確實(shí)將內(nèi)容寫(xiě)入文件,而在 Linux 上則不這樣做。Windows 上的目錄:Mode LastWriteTime Length Name---- ------------- ------ -----a---- 14.04.2016 10:37 345 main.go-a---- 14.04.2016 10:45 10 test.txt-a---- 14.04.2016 10:37 2635264 writetest.exeLinux 上的目錄:drwxrwxr-x 2 localuser localuser 4096 Apr 14 10:55 ./drwxr-xr-x 8 localuser localuser 4096 Apr 14 10:27 ../-rw-rw-r-- 1 localuser localuser 345 Apr 14 10:37 main.go-rwxrwxr-x 1 localuser localuser 0 Apr 14 10:55 test.txt*我在這里錯(cuò)過(guò)了什么?
一個(gè)文件在 Windows 上填充了數(shù)據(jù),但在 Linux 上沒(méi)有
明月笑刀無(wú)情
2022-01-04 13:39:46