次の擬似コードからJavaコードをどのように書くのか疑問に思います
foreach file F in file directory D
foreach int I in file F
sort all I from each file
基本的にこれは外部ソーティングアルゴリズムの一部であるため、これらのファイルには並べ替えられた整数のリストが含まれています。各ファイルから最初の整数を読み取り、並べ替えてから別のファイルに出力してから、各ファイルから次の整数に移動します。すべての整数が完全にソートされるまで、もう一度。
問題は、各ファイルについて私が理解している限り、リーダーが必要なことです。したがって、N個のファイルがある場合、それはN個のファイルリーダーが必要であることを意味しますか?
======更新=======
こんな感じなのかな?私が何かまたは他のより良いアプローチを逃した場合は私を訂正してください。
int numOfFiles = 10;
Scanner [] scanners = new Scanner[numOfFiles];
try{
//reader all the files
for(int i = 0 ; i < numOfFiles; i++){
scanners[i] = new Scanner(new BufferedReader(
new FileReader("file"+i+".txt");
}
}
catch(FileNotFoundException fnfe){
}