0

以下のように私のプログラムフラグメントをリストする

public class InStream {

    static FileOutputStream file=null;
    static {
        try {
            file = new FileOutputStream("deo.txt");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {

        try {
                   //when i try to replace below infinite loop, 
                   //it is also not able to output my String
                    //while(ture)
                        or
                     //for(;;)

            for(int i=0;i<100000;i++){
                file.write("AB ".getBytes());
            }

                 //file.flush(); 

            file.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

このプログラムを実行 -> deo.txt を開く -> このファイル内にデータがありません

しかし、for ループをコメントするときは、フラグメント コードの下でのみテストします。

   try {
            file.write("AB ".getBytes());
            file.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

これで、ファイルに「AB」文字列が表示されます。とても奇妙....

誰か私にお願いできますか?

4

2 に答える 2

0

私はあなたのコードをテストしました。そしてそれは動作します。しかし、deo.txtの場合。約293kであればサイズを確認できます。Eclipseテキストエディタで開いても何も表示されません。ただし、notepad++などの他のシステムエディタで表示できます。

于 2012-05-27T02:28:29.903 に答える
0

コードにエラーはありません。AB AB を含むファイル「deo.txt」を生成する必要があります。

于 2012-05-27T02:07:16.150 に答える