我是一個新用戶,並與下方掙扎:閱讀/寫作大文件VB.NET
我需要讀取該文件,並與一些修改,寫回,問題是:
- 「ReadToEnd」適用於較小文件[約100MB],一切正常,我喜歡做的事情。 但是對於更大的文件[300 MB +],它會彈出。
- 然後我嘗試「的ReadLine」(讀逐行) 它適用於更小的或更大的文件不錯,但它需要非常非常長的救回來。
我既包括下面的「ReadToEnd的」和「的ReadLine」 代碼測試你的需要創建「100MB-FILE.TXT」和「300MB-FILE.TXT」文件在C:\ TEMP \區域。
我真的很感激在這方面
'----------------Reading whole File ReadToEnd
Dim sr As New StreamReader("C:\temp\100MB-File.txt")
Dim path As String = "C:\temp\myFileNew1.txt"
Dim oneLine As String
oneLine = sr.ReadToEnd
Using sw As StreamWriter = File.CreateText(path)
sw.WriteLine(oneLine)
End Using
sr.Close()
''---------------Reading Line by Line
Dim sr As New StreamReader("C:\temp\300MB-File.txt")
Dim path As String = "C:\temp\myFileNew2.txt"
Dim oneLine As String
oneLine = sr.ReadLine
Using sw As StreamWriter = File.CreateText(path)
sw.WriteLine(oneLine)
End Using
Do Until sr.EndOfStream
Console.WriteLine(oneLine)
oneLine = sr.ReadLine()
Using sw As StreamWriter = File.AppendText(path)
sw.WriteLine(oneLine)
End Using
Loop
sr.Close()
如果您註釋掉'Console.WriteLine(ONELINE)'行你可能會發現它運行速度快得多。 –
見http://stackoverflow.com/questions/2161895/reading-large-text-files-with-streams-in-c-sharp,你可能就無法進行了許多改進過去所@AndrewMorton sugested – djv