0

だから私はそのようなリーダーライターを持っています:

File f2 = new File("thisfileexists.txt");
BufferedReaeder reader = new BufferedReader(new InputStreamReader(System.in), 10000 * 1024);
PrintWriter fos = new Printwriter(new FileOutputStream(f2));

プログラムの後半の読み取りループ

List<Integer> compressed = new ArrayList<Integer>();
String l;
while((l = reader.readLine()) != null){
    compressed.add(Integer.parseInt(l)); //assume only valid integer values
}

後で行ったら

String result = "";
for(int k : compressed){
    String entry;
    //affect entry here

    fos.write(entry);
    result += entry;
}

ループの実行が終了した後、fos が書き込んでいるファイルは空です。どんな助けでも大歓迎です。

4

3 に答える 3

2

閉じますFileOutputStreamか?

String result = "";
for(int k : compressed){
  String entry;
  //affect entry here

  fos.write(entry);
  result += entry;
}

fos.close();       // close the file descriptor
于 2012-04-30T07:19:02.407 に答える
1

終了したらファイルを閉じますか?それなし

fos.close();

ファイルの終わりが失われる可能性があります。ファイルが十分に小さい場合、取得するのは空のファイルだけです。

于 2012-04-30T07:19:21.683 に答える
0

すべてのデータが書き込まれた後、ストリームを閉じましたか?:)

于 2012-04-30T07:20:51.173 に答える