2016-12-07 4 views
0

J'ai un fichier 1 et je veux copier son contenu dans un autre fichier fil2e. Après cela, j'ai ajouté du contenu à file1. Maintenant, je veux ajouter la partie nouvellement ajoutée dans fichier1 à fichier2, de sorte que les deux fichiers restent en synchronisation. Au départ, j'ai pensé à vérifier octet par octet mais c'est très inefficace pour les gros fichiers.Copier le contenu d'un fichier dans un autre fichier, sans copier le contenu existant

Merci d'avance.

+0

Ecrire description détaillée de vos fichiers utilisés. Utilisez-vous des fichiers texte ou –

+1

Déterminez la longueur de fichier2, recherchez cette position dans fichier1 et commencez à copier à partir de là. – djna

+0

vous pouvez lire le fichier 1 et l'enregistrer sous forme de chaîne, puis lire le fichier 2 et l'enregistrer sous forme de chaîne. maintenant vous pouvez prendre la sous-chaîne du fichier 1, en commençant par file2.length et l'ajouter au fichier 1 – XtremeBaumer

Répondre

1

FileUtils Utilisons Apache Common que vous pouvez télécharger ici: http://commons.apache.org/proper/commons-io/

Il vous fournit plusieurs méthodes pour lire et écrire dans des fichiers qui devraient aider à atteindre votre objectif.

0

Vous pouvez utiliser FileChannel.transferTo:

Path file1 = /* ... */ ; 
Path file2 = /* ... */ ; 

try (FileChannel channel1 = FileChannel.open(file1); 
    FileChannel channel2 = FileChannel.open(file2, 
     StandardOpenOption.WRITE, StandardOpenOption.APPEND)) { 

    channel1.transferTo(channel2.size(), Long.MAX_VALUE, channel2); 
}