如何截断大文本文件的最后一部分

时间:2017-06-02 16:12:24

标签: .net vb.net

我正在尝试删除文件末尾的最后一个^和换行符。此代码适用于小文件,但不适用于非常大的文件。我正在考虑以块或者最后一部分来阅读文件,但我不知道该怎么做。

Dim text As String
Dim intLength As Integer
Dim strEnd As String

text = File.ReadAllText(pstrOutputFolder & "tblzTF2FORMS_" & pstrFormType & ".txt")
intLength = Len(text)
strEnd = Right(text, 2)
If strEnd = "^" & vbLf & "" Then
    intLength = intLength - 2
    text = Left(text, intLength)
    File.WriteAllText(pstrOutputFolder & "tblzTF2FORMS_" & pstrFormType & ".txt", text)
End If

1 个答案:

答案 0 :(得分:1)

以块的形式读取整个文件,逐步将所有数据写入第二个临时文件(当然最后两个字符除外)将是您最好的选择。当您使用FileStream时,可以搜索给定位置然后覆盖单个字节,但这仅在您使用相同长度的新数据覆盖数据时才有效。当你截断时,这不起作用。