Vb.net 使用交替行将多个文本文件合并为一个
我已经设法用这段代码将两个文本文件合并在一起Vb.net 使用交替行将多个文本文件合并为一个,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我已经设法用这段代码将两个文本文件合并在一起 For Each foundFile As String In My.Computer.FileSystem.ReadAllText("path") foundFile = foundFile My.Computer.FileSystem.WriteAllText("path", foundFile, True) Next extraline = vbCrLf My.Co
For Each foundFile As String In
My.Computer.FileSystem.ReadAllText("path")
foundFile = foundFile
My.Computer.FileSystem.WriteAllText("path", foundFile, True)
Next
extraline = vbCrLf
My.Computer.FileSystem.WriteAllText("path", extraline, True)
My.Computer.FileSystem.WriteAllText("path", extraline, True)
For Each foundFile2 As String In
My.Computer.FileSystem.ReadAllText("path")
foundFile2 = foundFile2
My.Computer.FileSystem.WriteAllText("path", foundFile2, True)
Next
它合并他们,但我想它合并两个文本文件一行一次。比如说
Textdoc1包含
First Line
Third Line
Textdoc2包含
Second Line
Fourth Line
我希望输出文件包含:
First line
Second Line
Third Line
Fourth Line
非常感谢您的帮助,谢谢 您必须使用而不是ReadAllText。这里有一个简单的例子向您展示它是如何工作的(我还没有测试这段代码,它只是供参考)
Dim linesFromFile1()作为字符串
Dim linesFromFile2()作为字符串
将组合行变暗为新列表(字符串)
linesFromFile1=System.IO.File.ReadAllLines(“文件1”)
linesFromFile2=System.IO.File.ReadAllLines(“文件2”)
对于linePos,将其作为整数=0到System.Math.Max(linesFromFile1.Length,linesFromFile2.Length)-1
如果linePos
如果您有非常大的文件,那么我建议您考虑使用。这样,您就可以不用一次加载所有内容。太完美了,正是我想要的!非常感谢。
Dim linesFromFile1() As String
Dim linesFromFile2() As String
Dim combinedLines As New List(Of String)
linesFromFile1 = System.IO.File.ReadAllLines("file1")
linesFromFile2 = System.IO.File.ReadAllLines("file2")
For linePos As Integer = 0 To System.Math.Max(linesFromFile1.Length, linesFromFile2.Length) - 1
If linePos < linesFromFile1.Length Then combinedLines.Add(linesFromFile1(linePos))
If linePos < linesFromFile2.Length Then combinedLines.Add(linesFromFile2(linePos))
Next
System.IO.File.WriteAllLines("file3", combinedLines.ToArray())