因为要生成一份数据测试个程序,就写了下面的代码
import java.io.FileNotFoundException;
import java.io.PrintWriter;public class aa {
public static void main(String[] args) {
try {
PrintWriter pt=new PrintWriter("C:\\AA.txt");
for(int i=0;i<10000;++i)
pt.println(i+"\t"+i+"\t"+i+"\t"+i+"\t"+i+"\n");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}}
程序运行没有异常,可输出结果却只有9000多,永远没有10000,当i<100是,什么也没有输出
这是为什么呢

解决方案 »

  1.   

    eclipse 设置
    window-Preferences-Run/Debug-Console里边,去掉对Limit console output的选择,或者设置Console buffer size的值 
      

  2.   

    改了,可输出还是那样,i<100什么都没有,10000的时候才8000多
      

  3.   

    刚看到,以为你的意思是要在控制台输出呢。刚才我说的不是解决这个问题的。for(int i=0;i<10000;++i)
    pt.println(i+"\t"+i+"\t"+i+"\t"+i+"\t"+i+"\n");
    下面加一句
    pt.close();//这样才能写进文件中。
      

  4.   

    没有清空缓冲区吧。
    楼主试着,在程序的最后,将输出流关闭,或者调用pt.close();方法。
    清空缓冲区,也就是将缓冲区里面的数据推到硬盘上面,可以调用pt.flush();方法实现,
    如果没有,直接close完事。
      

  5.   

    因为数据是在缓冲区中的,缓冲区没有满,不执行文件写操作。调用close方法,就把缓冲区的内容写到文件中了。
    不然,flush方法也可以,但最后都要close掉。所以直接close就可以。