Maison >Java >javaDidacticiel >Comment fusionner plusieurs fichiers en Java
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.
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; }
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"); }
(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!