1

我正在用一些文本填充列表框并将输出保存到文本文件(sObj.txt)

'Saving items of lb1 in a file under C:\temp
    Dim i As Integer
    W = New IO.StreamWriter("C:\temp\sObj.txt")
    For i = 0 To lb1.Items.Count - 1
        W.WriteLine(lb1.Items.Item(i))
    Next
    W.Close()

此文本文件包含 3 个(例如)条目,假设第一行是 abc,第二行是 def,第三行是 ghi。

现在我想使用 sObj.txt 条目附加另一个文本文件(MPadd.txt),这样我得到如下内容:

'Appending listbox items to the file MPadd.txt

    Using SW As New IO.StreamWriter("c:\temp\MPadd.txt", True)
        SW.WriteLine("some text" & abc & "some text")
        SW.WriteLine("some text" & def & "some text")
        SW.WriteLine("some text" & ghi & "some text")
    End Using

请帮助正确获取它。谢谢。

4

1 回答 1

1

只需读取第一个文件中的所有行(只需三行,所以这不是问题),然后循环遍历这些行,添加您喜欢的前缀和后缀文本

编辑 按照你的最后一个例子

Dim commands() = 
{
    "cdhdef -t ftpv2 -c r -f {0} -x ",
    "cdhdsdef -v CPUSRG {0} ",
    "cacls K:\AES\data\Cdh\ftp\{0}\Archive /E /G OSSUSER:C"
} 

Dim counter As Integer = 0
Dim objLines = File.ReadAllLines("C:\temp\sObj.txt")
Using SW As New IO.StreamWriter("c:\temp\MPadd.txt", True)
    ' Loop only for the number of strings in commands (max 3 now)
    for x = 0 to commands.Length - 1
        line = objeLines(x).Trim
        ' This check will prevent empty lines to be used for the output 
        If line <> string.Empty Then
            SW.WriteLine(string.Format(commands(counter), line))
            counter += 1
        End If
    Next
End Using

此示例使用复合格式,您可以在其中定义格式字符串和要插入另一个值的渐进式占位符。

当然,这只有在您的输入文件中只有 3 行时才有效

于 2013-05-14T11:08:19.940 回答