如何在列表框中删除15,000行并将其保存到文件夹中的其他文本文件中,增加100行。因此,我的列表框的前100行将保存到文件夹/ List1.txt中,包含100行等等。
答案 0 :(得分:0)
首先导入以下命名空间。
Imports System.Threading.Tasks
收集并转换ListBox
中的所有项目。使用GetItemText获取每个对象的字符串表示形式,如屏幕上所示。
Dim items As List(Of String) = (
From o As Object
In Me.ListBox1.Items
Select Me.ListBox1.GetItemText(o)
).ToList()
定义文件路径。请勿删除{0}
,因为它将替换为“文件编号”。
Const path As String = "C:\Users\tantibus\Documents\List{0}.txt"
设置循环索引。如果您有15 000
项,则toExclusive
将设置为150
。
Dim fromInclusive As Integer = 0
Dim toExclusive As Integer = CType(Math.Ceiling(items.Count / 100.0R), Integer)
如果您跳过(index * 100)
并100
,请运行parallel for循环。将结果写入(新)文件。
Parallel.For(
fromInclusive,
toExclusive,
Sub(index As Integer)
Dim lines As IEnumerable(Of String) = items.Skip((index * 100)).Take(100)
My.Computer.FileSystem.WriteAllText(
String.Format(path, (index + 1)),
String.Join(Environment.NewLine, lines),
False
)
End Sub
)