Maison > Java > javaDidacticiel > le corps du texte

Comment fusionner plusieurs fichiers en Java

angryTom
Libérer: 2020-02-03 09:21:04
original
4143 Les gens l'ont consulté

Dans les projets réels, lors du traitement de fichiers plus volumineux, les fichiers sont souvent divisés en plusieurs sous-fichiers pour le traitement, et finalement ces sous-fichiers sont fusionnés. Ci-dessous, je vais vous présenter comment fusionner plusieurs fichiers en Java.

Comment fusionner plusieurs fichiers en Java

Le moyen le plus simple de fusionner des sous-fichiers en Java est d'utiliser BufferedStream pour la lecture et l'écriture.

La méthode de mise en œuvre spécifique est la suivante. Le code est très détaillé pour votre référence et votre étude.

1. Créez d'abord la méthode mergeFiles, recevez le tableau de chaînes et les paramètres de chaîne, et complétez la fonction de fusion de fichiers

public static boolean mergeFiles(String[] fpaths, String resultPath) {
    if (fpaths == null || fpaths.length < 1 || TextUtils.isEmpty(resultPath)) {
        return false;
    }
    if (fpaths.length == 1) {
        return new File(fpaths[0]).renameTo(new File(resultPath));
    }

    File[] files = new File[fpaths.length];
    for (int i = 0; i < fpaths.length; i ++) {
        files[i] = new File(fpaths[i]);
        if (TextUtils.isEmpty(fpaths[i]) || !files[i].exists() || !files[i].isFile()) {
            return false;
        }
    }

    File resultFile = new File(resultPath);

    try {
        int bufSize = 1024;
        BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(resultFile));
        byte[] buffer = new byte[bufSize];

        for (int i = 0; i < fpaths.length; i ++) {
            BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(files[i]));
            int readcount;
            while ((readcount = inputStream.read(buffer)) > 0) {
                outputStream.write(buffer, 0, readcount);
            }
            inputStream.close();
        }
        outputStream.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        return false;
    } catch (IOException e) {
        e.printStackTrace();
        return false;
    }

    for (int i = 0; i < fpaths.length; i ++) {
        files[i].delete();
    }

    return true;
}
Copier après la connexion

2. La méthode mergeFiles est appelée dans la fonction principale. Lorsqu'elle est utilisée, le tableau d'adresses de plusieurs fichiers est transmis et l'adresse du fichier de sortie est transmise.

public static void main(String[] args) {
          mergeFiles(new String[]{"D:/in_1.txt", "D:/in_2.txt", "D:/in_3.txt"}, "D:/output.txt");
}
Copier après la connexion

(Partage de didacticiels vidéo associés : tutoriel vidéo Java)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal