フォルダー内のすべての txt ファイルを 1 つのファイルに結合するにはどうすればよいですか? 通常、フォルダーには数百から数千の txt ファイルが含まれています。
このプログラムを Windows マシンでのみ実行する場合は、次のようなバッチ ファイルを使用します。
copy /b *.txt merged.txt
しかし、そうではないので、他のすべてを補完するために Java で記述した方が簡単かもしれないと考えました。
私はこのようなことを書いています
// Retrieves a list of files from the specified folder with the filter applied
File[] files = Utils.filterFiles(downloadFolder + folder, ".*\\.txt");
try
{
// savePath is the path of the output file
FileOutputStream outFile = new FileOutputStream(savePath);
for (File file : files)
{
FileInputStream inFile = new FileInputStream(file);
Integer b = null;
while ((b = inFile.read()) != -1)
outFile.write(b);
inFile.close();
}
outFile.close();
}
catch (Exception e)
{
e.printStackTrace();
}
しかし、何千ものファイルを結合するには数分かかるため、現実的ではありません。