2 つの異なる言語の 2 つのテキストファイルがあり、行ごとに配置されています。つまり、textfile1 の最初の行は textfile2 の最初の行と同じにする必要があります。
両方のファイルを 1 行ずつ同時に読み取る方法はありますか?
以下は、ファイルがどのように見えるかのサンプルです。ファイルあたりの行数が約 1,000,000 であると想像してください。
テキストファイル1:
This is a the first line in English
This is a the 2nd line in English
This is a the third line in English
テキストファイル 2:
C'est la première ligne en Français
C'est la deuxième ligne en Français
C'est la troisième ligne en Français
希望の出力
This is a the first line in English\tC'est la première ligne en Français
This is a the 2nd line in English\tC'est la deuxième ligne en Français
This is a the third line in English\tC'est la troisième ligne en Français
現在、これを使用できますが、RAM に数百万行を保存すると、マシンが停止します。
String english = "/home/path-to-file/english";
String french = "/home/path-to-file/french";
BufferedReader enBr = new BufferedReader(new FileReader(english));
BufferedReader frBr = new BufferedReader(new FileReader(french));
ArrayList<String> enFile = new ArrayList<String>();
while ((line = enBr.readLine()) != null) {
enFile.add(line);
}
int index = 0;
while ((line = frBr.readLine()) != null) {
String enSentence = enFile.get(index);
System.out.println(line + "\t" + enSentence);
index++;
}