我正在使用 VB6 编写程序,我可以使用 System.IO.StreamWriter 和 System.IO.StreamReader 写入和读取文件。现在我正在尝试删除文件中的一个条目并将剩余条目向上移动以防止出现空行。例子:
a.txt 有
1 2 3
我想删除“2”,a.txt 现在应该有
1 3
我不希望它有
1 <--空格 3
这就是我现在的样子我想知道是否有人知道实现这一目标的方法?
首先,基于这些类名,我很确定您使用的是 VB.NET,而不是 VB6。如果这真的是关于 VB.NET,你可能会得到更多的回应,因为更多的人知道它。
不过,要回答您的问题:我怀疑从那时起不重写整个文件是可能的。将文件视为字节数组,而不是行的链接列表。与数组一样,您可以覆盖,但不能将插入或删除作为常量时间操作。可能可以进行块读取和块写入,但对于小文件,最简单的做法是将整个内容作为行字符串列表读取,从列表中删除一行,然后将其写回.
用 1 3 <- 空格替换文件中的文本,如果效果只需要是光学的,并且尾随空格对您的应用程序来说不是问题