3 回答

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
當(dāng)您寫入流時(shí),文件指針將更改并移動(dòng)到流的末尾。您沒有指望的是StreamReader有自己的緩沖區(qū)。它從文件中讀取1024個(gè)字節(jié),然后您將從該緩沖區(qū)中獲取結(jié)果。直到緩沖區(qū)用完,所以它必須再次從FileStream中讀取。由于文件指針位于文件末尾,因此一無所獲。
您確實(shí)確實(shí)需要單獨(dú)的FileStreams,每個(gè)FileStreams都有自己的文件指針,以使這項(xiàng)工作有希望。

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
對(duì)于涉及使用同一流進(jìn)行讀寫的此問題的任何解決方案,您都不大可能滿意。如果您嘗試使用讀取文件尾部,則尤其如此StreamReader。
您想要兩個(gè)不同的文件流。StreamWriter如果愿意,寫作流可以是a 。讀取流應(yīng)為二進(jìn)制流(即使用File.OpenRead或創(chuàng)建FileStream.Create),從文件中讀取原始字節(jié),然后轉(zhuǎn)換為文本。我對(duì)這個(gè)問題的回答顯示了如何進(jìn)行的基礎(chǔ)知識(shí)。
- 3 回答
- 0 關(guān)注
- 516 瀏覽
添加回答
舉報(bào)