第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Golang 中合并兩個文本文件

在 Golang 中合并兩個文本文件

Go
慕勒3428872 2022-05-10 17:13:47
我正在嘗試通過合并來合并兩個文本fileACopy.txt文件tmp1.txt。嘗試執(zhí)行此操作時出現(xiàn)的錯誤是:Cannot use 'fileACopy' (type *File) as type []byte"兩個文本文件都有多行字符串,我想保留換行符。我已經(jīng)導(dǎo)入了io,log和os.我的代碼需要如何修改或者我應(yīng)該使用什么代碼?// Append fileACopy.txt to tmp1.txt    fileACopy, err := os.Open("./fileACopy.txt")    if err != nil {        log.Fatal(err)    }    defer fileACopy.Close()    append, err := os.OpenFile("tmp1.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)    if err != nil {        log.Fatal(err)    }    defer append.Close()    if _, err := append.Write(fileACopy); err != nil {        log.Fatal(err)    }    err := os.Remove("fileACopy.txt")    if err != nil {        log.Fatal(err)    }
查看完整描述

1 回答

?
qq_笑_17

TA貢獻1818條經(jīng)驗 獲得超7個贊

考慮Open和Write的定義:


func Open(name string) (*File, error)

func (f *File) Write(b []byte) (n int, err error)

所以這一行:


fileACopy, err := os.Open("./fileACopy.txt")

給你fileACopy(a *File) 然后你把它作為參數(shù)傳遞給append.Write(fileACopy). 根據(jù)上述定義append.Write,[]byte您嘗試向其傳遞不同的 ( fileACopy, a *File),因此出現(xiàn)錯誤“不能使用 'fileACopy' (type *File) as type []byte”。


實現(xiàn)您想要的最簡單的方法可能是使用io.Copy:


Copy(dst Writer, src Reader) (written int64, err error)

在你的情況下io.Copy(append, fileACopy)應(yīng)該做的伎倆。A,效率較低的替代方法是使用ioutil.ReadAll(以及其他選項)讀取文件內(nèi)容,這將為您提供[]byte然后可以傳遞給您的文件內(nèi)容append.Write(這可能效果不佳,因為整個文件被讀入內(nèi)存,然后書面)。


查看完整回答
反對 回復(fù) 2022-05-10
  • 1 回答
  • 0 關(guān)注
  • 547 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號