1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-04 12:52:28 +08:00

fix: 覆盖写入字符串到文件问题 (#128)

This commit is contained in:
ggymm
2023-08-24 16:36:44 +08:00
committed by GitHub
parent 91bc1a512c
commit e66ab154bc
2 changed files with 21 additions and 9 deletions

View File

@@ -594,9 +594,11 @@ func WriteCsvFile(filepath string, records [][]string, append bool) error {
// WriteStringToFile write string to target file.
// Play: https://go.dev/play/p/GhLS6d8lH_g
func WriteStringToFile(filepath string, content string, append bool) error {
flag := os.O_RDWR | os.O_CREATE
var flag int
if append {
flag = flag | os.O_APPEND
flag = os.O_RDWR | os.O_CREATE | os.O_APPEND
} else {
flag = os.O_RDWR | os.O_CREATE | os.O_TRUNC
}
f, err := os.OpenFile(filepath, flag, 0644)

View File

@@ -393,9 +393,7 @@ func TestWriteStringToFile(t *testing.T) {
t.Fail()
}
defer file.Close()
err = WriteStringToFile(filepath, "hello", false)
err = WriteStringToFile(filepath, "hello world", false)
if err != nil {
t.Fail()
}
@@ -405,20 +403,32 @@ func TestWriteStringToFile(t *testing.T) {
t.Fail()
}
err = WriteStringToFile(filepath, "hello", false)
if err != nil {
t.Fail()
}
content2, err := ReadFileToString(filepath)
if err != nil {
t.Fail()
}
err = WriteStringToFile(filepath, " world", true)
if err != nil {
t.Fail()
}
content2, err := os.ReadFile(filepath)
content3, err := os.ReadFile(filepath)
if err != nil {
t.Fail()
}
assert.Equal("hello", content1)
assert.Equal("hello world", string(content2))
assert.Equal("hello world", content1)
assert.Equal("hello", content2)
assert.Equal("hello world", string(content3))
os.Remove(filepath)
_ = file.Close()
_ = os.Remove(filepath)
}
func TestWriteBytesToFile(t *testing.T) {