10000 乱数の行を生成してファイルに保存しようとしています。スペースで区切られた行に新しい乱数を追加し続けます。しかし、数回繰り返した後、追加された文字列が空 (?) になり、System.out.println を使用してコンソールに行を出力しようとしても表示されず、ファイルには何も書き込まれません。このコードは、n=10、n=100、n=1000 の場合、まったく問題なく動作します。
私のコードの下を見つけてください
import java.io.BufferedWriter;
import java.io.FileWriter;
public class RandomNumber {
public static void main(String[] args) {
try {
int n = 10000;
String line = ""; // Have tried StringBuilder too, doesn't help
for (int i = 0; i < n; i++) {
int temp = (int) Math.ceil((Math.random() * n));
line = line+temp+" ";
System.out.println(line);
}
FileWriter fstream = new FileWriter("input" + n + ".txt");
BufferedWriter out = new BufferedWriter(fstream);
out.write(line);
out.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
}
編集: out.write に使用されていた for ループを削除しました。不要でした。String 配列を使用していたときに使用していました。