Comment concaténer 2 fichiers texte en VB ?
Visual Basic ne dispose pas d'une instruction ou fonction permettant de concaténer 2 fichiers texte. Pour réaliser cette opération, le plus simple est de lire les 2 fichiers source ligne par ligne et de copier ces lignes dans le fichier destination. A défaut d'être nécessairement la plus rapide, cette méthode à l'avantage de la simplicité de mise se oeuvre. Public Function ConcatenateFile(ByVal srcFile1 As String, _ ByVal srcFile2 As String, _ ByVal destFile As String, _ ByRef errCode As Integer, _ ByRef errMsg As String) As Boolean Dim f As Integer Dim g As Integer Dim h As Integer Dim s As String On Error GoTo ConcatenateFile_ERR f = FreeFile: Open srcFile1 For Input As #f g = FreeFile: Open srcFile2 For Input As #g h = FreeFile: Open destFile For Output As #h While Not EOF(f) Line Input #f, s Print #h, s Wend While Not EOF(g) Line Input #g, s Print #h, s Wend Close ConcatenateFile = True ConcatenateFile_END: Exit Function
ConcatenateFile_ERR: ConcatenateFile = False errCode = Err.Number errMsg = Err.Description Resume ConcatenateFile_END End Function
Exemple d'utilisation de la fonction Dim ret As Integer Dim errCode As Integer Dim errMsg As String
ret = ConcatenateFile("c:\input1.txt", "c:\input2.txt", "c:\output.txt", errCode, errMsg) If ret Then MsgBox "Copie effectuée", vbInformation Else MsgBox "Erreur lors de la copie. ErrCode:" & errCode & " Description:" & errMsg, vbExclamation End If Comme on l'a dit, cette méthode peut se révéler peu efficace pour la concaténation de très gros fichiers (plusieurs centaines de milliers de lignes), d'autres méthodes peuvent être plus efficaces, comme par exemple celle exposée dans l'article Comment lire rapidement un fichier texte ?. Cas particulier : concaténation de A et B dans A (ajout de B à A)Dans ce cas, en particulier si le fichier A est grand, il sera plus efficace d'ouvrir le fichier 'A' en mode "Append" et d'ajouter simplement les lignes du fichier 'B' au fichier 'A'. On pourra s'inspirer pour cela des exemples présentés dans l'article Comment modifier un fichier texte ?. Pour aller plus loin
Voir aussi : |
Date de publication : 11 septembre 2008
Dernière modification : 11 septembre 2008
Rubriques : Fichiers & dossiers
Mots-clés : concaténer, concaténation, copier, ajouter, ajout, fichiers, texte, input, output, open, print, input |