这是怎么回事啊!鼓捣了一个下午。。

weixin_41043614 2018-01-24 04:14:09


import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class Test01 {
public static void main(String[] args) {
try {
PrintWriter w = new PrintWriter("abc.txt");
for (int e = 0; e < 500; e++) {
w.print(e + "\t");
System.out.print(e + "\t");
for (int o = 0; o < 7; o++) {
String str = o + "\t\t\t";
System.out.print(o + "\t\t");
w.print(str);
}
System.out.println();
w.println();
}

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}



为什么打印到文件后,只打印出了245行?
在屏幕上就能够正常显示啊!
...全文
3077 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
屌丝Java 2018-03-09
  • 打赏
  • 举报
回复
原来是输出到文件去少了啊
屌丝Java 2018-03-09
  • 打赏
  • 举报
回复
我复制过来直接是499行了
MrCaoG 2018-03-08
  • 打赏
  • 举报
回复
引用 13 楼 yu_ge_ge 的回复:
开门后要关门啊,不然不礼貌的。使用io流后一定要记得关闭io流,就是楼上很多大湿肤说的的close();一是可以刷新缓存,输出内容,二是防止内存溢出。
学到了
GuoYu@ 2018-03-08
  • 打赏
  • 举报
回复
开门后要关门啊,不然不礼貌的。使用io流后一定要记得关闭io流,就是楼上很多大湿肤说的的close();一是可以刷新缓存,输出内容,二是防止内存溢出。
zhtoad 2018-03-04
  • 打赏
  • 举报
回复
我也老这样。 写程序先写open,再写close。然后才实现重甲
屌丝Java 2018-03-04
  • 打赏
  • 举报
回复
创建对象就是打开流,操作完了,要关闭流,而且关闭也是一种异常来的,你没有执行关闭,本身就是一种异常现象
十八道胡同 2018-02-24
  • 打赏
  • 举报
回复

import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.List;
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.io.FileNotFoundException;
import java.io.PrintWriter;

public class runoobDemo {
	  public static void main(String[] args) {
	        try {
	            PrintWriter w = new PrintWriter("d:\\abc.txt");
	            for (int e = 0; e < 500; e++) {
	                w.print(e + "\t");
	                System.out.print(e + "\t");
	                for (int o = 0; o < 7; o++) {
	                    String str = o + "\t\t\t";
	                    System.out.print(o + "\t\t");
	                    w.print(str);
	                }
	                System.out.println();
	                w.println();
	            }
	           w.close();//这里要关闭流
	        } catch (FileNotFoundException e) {
	            // TODO Auto-generated catch block
	            e.printStackTrace();
	        }
	    }
}
aptx1048576 2018-02-21
  • 打赏
  • 举报
回复
你可以直接在try-catch块中定义流/xyx
双木L 2018-02-07
  • 打赏
  • 举报
回复
使用io流的话一定要记得关闭io流,就是楼上提到的close();一是可以刷新缓存,输出内容,二是防止内存溢出
qq_36585995 2018-01-31
  • 打赏
  • 举报
回复
你应该养成关闭流的习惯
weixin_41043614 2018-01-24
  • 打赏
  • 举报
回复
多谢了,各位,就是这个问题
幽饮烛 2018-01-24
  • 打赏
  • 举报
回复
没 close 的结果。
  • 打赏
  • 举报
回复
引用 3 楼 weixin_41043614 的回复:
就是这原因。。 这是怎么回事啊?
这是先写在缓存里,最后输出到文件里。得手动输出
weixin_41043614 2018-01-24
  • 打赏
  • 举报
回复
就是这原因。。 这是怎么回事啊?
soton_dolphin 2018-01-24
  • 打赏
  • 举报
回复
加上w.flush() 楼上同学的建议也可以,close() 的时候会自动调用flush
心随念 2018-01-24
  • 打赏
  • 举报
回复
第 19 行 加上 w.close(); 试试

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧