実際のプロジェクトでは、より大きなファイルを処理する場合、ファイルは複数のサブファイルに分割されて処理され、最後にこれらのサブファイルがマージされることがよくあります。 Javaで複数のファイルをマージする方法を紹介します。
Java でサブファイルをマージする最も簡単な方法は、読み取りと書き込みに BufferedStream を使用することです。
具体的な実装方法は以下のとおりで、コードが非常に詳しく書かれているので参考・検討してください。
1. まず、mergeFiles メソッドを作成し、文字列配列と文字列パラメータを受け取り、ファイル結合関数
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 を完了します。 main関数内でmergeFilesメソッドを呼び出し、複数のファイルのアドレス配列を渡し、出力ファイルのアドレスを渡します。
public static void main(String[] args) { mergeFiles(new String[]{"D:/in_1.txt", "D:/in_2.txt", "D:/in_3.txt"}, "D:/output.txt"); }
(関連ビデオ チュートリアルの共有: Java ビデオ チュートリアル)
以上がJavaで複数のファイルをマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。