- Java code
BufferedReader bfr = null; BufferedWriter bfw = null; try { bfr = new BufferedReader(new InputStreamReader(System.in)); bfw = new BufferedWriter(new FileWriter("c:/abc.txt")); int len = 0; String text = bfr.readLine(); while(!(text.equals("exit"))){ bfw.write(text); bfw.newLine(); //text = bfr.readLine(); } bfw.flush();
上面的循环部分,如果把上面的一段代码注释掉了的话,则文件没发终止了,好像一直在循环,
而且生成的文件里面全是重复的,而且生成的txt文件很大。
局部定义的bfr.readLine()和上面定义的不一样嘛?
------解决方案--------------------------------------------------------
String text = bfr.readLine();
while(!(text.equals("exit"))){
bfw.write(text);
bfw.newLine();
//text = bfr.readLine();
}
改成
- Java code
String text = ""; while (!(text = bfr.readLine()).equals("exit")) { bfw.write(text); bfw.newLine(); //text = bfr.readLine(); } bfw.flush();
------解决方案--------------------------------------------------------
1L的方法不能生成文件么?我试了可以的啊。
------解决方案--------------------------------------------------------
怎么可能。。。
- Java code
public static void main(String args[]) throws Exception { BufferedReader bfr = null; BufferedWriter bfw = null; bfr = new BufferedReader(new InputStreamReader(System.in)); bfw = new BufferedWriter(new FileWriter("c:/abc.txt")); String text = ""; while (!(text = bfr.readLine()).equals("exit")) { bfw.write(text); bfw.newLine(); } bfw.flush(); }