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 回答