将一个文件附加到另一个文件

时间:2019-03-25 14:19:44

标签: vb.net appendfile

我已经做了一些工作,我发现的所有示例都是将给定的字符串附加到文件中,但是在文件末尾附加整个文件却没有任何运气。文件末尾。一切都在使用.appendAllText或appendText,这不符合我的需求。

我的文件是.sgm。在我的代码中,我首先获取所有sgm文件,然后检查该文件是否以_Ch#结尾。

我准备将文件追加到母版,但是到目前为止,我所能做的就是将文件名的字符串文本追加到母版的末尾。

非常感谢您的帮助。 最高

Public Class Form1
Private Sub btnImport_Click(sender As Object, e As EventArgs) Handles btnImport.Click
    Dim searchDir As String = txtSGMFile.Text 'input field for user
    'Get all the sgm files in the directory specified
    Dim fndFiles = Directory.GetFiles(searchDir, "*.sgm")
    'Set up the regular expression you will make as the condition for the file
    Dim rx = New Regex(".*_Ch\d\.sgm")
    Dim ch1 = New Regex(".*_Ch[1]\.sgm")
    Dim existingFile = searchDir & "\Bld1_Master_Document.sgm"


    'Loop through each file found by the REGEX
    For Each file In fndFiles
        If rx.IsMatch(file) Then
            If ch1.IsMatch(file) Then
                Dim result = Path.GetFileName(file)
                Dim fileToCopy = searchDir & "\" & result

                'THIS IS WHERE I WANT TO APPEND fileToCopy INTO existingFile
                System.IO.File.AppendAllText(fileToCopy, existingFile)


                MessageBox.Show("File Copied")
            End If
            'MsgBox(file)
        End If
    Next file
    Close()
End Sub

2 个答案:

答案 0 :(得分:3)

您可以将文件内容读取为字符串,然后像这样使用AppendAllText:

Imports System.IO
' ...

Dim fileToCopy = Path.Combine(searchDir, result)

'THIS IS WHERE I WANT TO APPEND fileToCopy INTO existingFile
Dim fileContent = File.ReadAllText(fileToCopy)

File.AppendAllText(existingFile, fileContent)

使用Path.Combine优于连接字符串。

答案 1 :(得分:1)

您可以使用如下方法从字面上附加所有字节:

Using fs As New System.IO.FileStream(existingFile, IO.FileMode.Append)
    Dim bytes() As Byte = System.IO.File.ReadAllBytes(fileToCopy)
    fs.Write(bytes, 0, bytes.Length)
End Using