Vb.net 添加垂直文本文本文件writeline中的每个项目都包含一些文本

Vb.net 添加垂直文本文本文件writeline中的每个项目都包含一些文本,vb.net,Vb.net,我正在用一些文本填充列表框&将输出保存到textfile(sObj.txt) 此文本文件包含3个(例如)条目,例如第1行中的abc、第2行中的def和第3行中的ghi 现在,我想使用sObj.txt条目附加另一个文本文件(MPadd.txt),这样我可以得到如下结果: 'Appending listbox items to the file MPadd.txt Using SW As New IO.StreamWriter("c:\temp\MPadd.txt", True)

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

此文本文件包含3个(例如)条目,例如第1行中的abc、第2行中的def和第3行中的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

请帮我把它弄对。谢谢。

只要读取第一个文件中的所有行(只有三行,所以这不是问题),然后在这些行上循环添加前缀和后缀文本即可

编辑 按照你最后的例子

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
Dim命令()=
{
“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计数器=0
Dim objLines=File.ReadAllLines(“C:\temp\sObj.txt”)
将SW用作新的IO.StreamWriter(“c:\temp\MPadd.txt”,True)
'仅针对命令中的字符串数循环(现在最多3个)
对于x=0的命令,长度为-1
直线=对象直线(x)。修剪
'此检查将防止输出使用空行
如果是行字符串。则为空
SW.WriteLine(字符串格式(命令(计数器)、行))
计数器+=1
如果结束
下一个
终端使用
此示例用于定义格式字符串和要插入另一个值的渐进式占位符


当然,只有当您的输入文件中只有3行时,这才起作用。只需读取第一个文件中的所有行(只有3行,所以这不是问题),然后在这些行上循环添加前缀和后缀文本即可

编辑 按照你最后的例子

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
Dim命令()=
{
“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计数器=0
Dim objLines=File.ReadAllLines(“C:\temp\sObj.txt”)
将SW用作新的IO.StreamWriter(“c:\temp\MPadd.txt”,True)
'仅针对命令中的字符串数循环(现在最多3个)
对于x=0的命令,长度为-1
直线=对象直线(x)。修剪
'此检查将防止输出使用空行
如果是行字符串。则为空
SW.WriteLine(字符串格式(命令(计数器)、行))
计数器+=1
如果结束
下一个
终端使用
此示例用于定义格式字符串和要插入另一个值的渐进式占位符


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

谢谢您的回复。如果我理解正确,您的代码将为sObj.txt文件中的每一行添加相同的“前缀文本”和“后缀文本”。但问题是“前缀文本”和“后缀文本”并非每次都相同。为了更好地理解
code
Dim objLines=File.ReadAllLines(“C:\temp\sObj.txt”),在objLines SW.WriteLine(“sometext1”和“sometext2”)SW.WriteLine(“sometext3”和“sometext4”)SW.WriteLine(“sometext5”和“sometext4”)SW.WriteLine(“sometext5”&“sometext6”)下一个结尾使用,因此您有一些文本源需要与原始文件合并?请将其他文本的示例添加到原始问题中,还是需要将第一个文件的每一行插入第二个文件的更正行中?以下是示例。Dim objLines=file.ReadAllLines(”C:\temp\sObj.txt),将SW用作新的IO.StreamWriter(“C:\temp\MPadd.txt”,True),用于对象行SW.WriteLine(“Prefixt1”行和“PostFixt2”)SW.WriteLine(“Prefixt3”行和“postfixtext4”)SW.WriteLine(“Prefixt5”行和“postfixtext6”)上的每一行下一个结束使用但这些文本是固定的,因为你已经键入?(例如,如果你有一个第四行你写'prefixtext7'和'postfixtext8')?谢谢你的答复。如果我理解正确,你的代码将添加相同的“前缀文本”和“后缀文本”为每一行找到的sObj.txt文件。但问题是,“前缀文本”&“后缀文本“并非每次都是相同的。为了更好地理解
code
Dim objLines=File.ReadAllLines(“C:\temp\sObj.txt”),在objLines SW.WriteLine(“sometext1”和“sometext2”)SW.WriteLine(“sometext3”和“sometext4”)上的每一行使用SW作为新的IO.StreamWriter(“C:\temp\MPadd.txt”,True)SW.WriteLine(“sometext5”和“sometext6”行)下一步结束使用因此您有一些文本源需要与原始文件合并?请将其他文本的示例添加到原始问题中,或者您是否需要将第一个文件的每一行插入第二个文件的更正行中?以下是示例。Dim objLines=file.ReadAllLines(“C:\temp\sObj.txt”)将SW作为新IO.StreamWriter(“c:\temp\MPadd.txt”,True)用于objLines SW.WriteLine(“Prefixt1”行和“PostFixt2”)SW.WriteLine(“Prefixt3”行和“PostFixt4”)SW.WriteLine(“Prefixt5”行和“PostFixt6”)下一个端点使用,但这些文本是按您键入的方式固定的吗?(例如,如果有第四行,则写“prefixtext7”和“postfixtext8”)?