我正在填充一个包含一些文字和列表的列表框;将输出保存到textfile(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个(例如)条目,假设第1行为abc,第2行为def; ghi在第3行。
现在我想使用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
请帮助您正确使用它。感谢。
答案 0 :(得分: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
此示例使用composite formatting定义格式字符串和要插入其他值的渐进占位符。
当然,只有在输入文件中只有3行
时,这才有效