首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于flush的有关问题

2012-01-16 
关于flush的问题import java.io.*public class TestIO{private static BufferedReader stdInnew Buffere

关于flush的问题
import java.io.*;

public class TestIO{
private static BufferedReader stdIn=new BufferedReader(new InputStreamReader(System.in));
4.private static PrintWriter stdOut=new PrintWriter(System.out,true);
5.private static PrintWriter stdErr=new PrintWriter(System.err,true);

public static void main(String args[]) throws IOException{
1.stdOut.print("Source filename: ");
//stdOut.flush();

BufferedReader input=new BufferedReader(new FileReader(stdIn.readLine()));

2.stdErr.print("destination filename: ");
//stdErr.flush();

PrintWriter output=new PrintWriter(new FileWriter(stdIn.readLine()));

String line=input.readLine();
while(line!=null){
output.println(line);
line=input.readLine();
}

input.close();
output.close();

3.stdOut.println("done");
//stdOut.flush();
}

}
如果注释了flush的行,则标记为1和2的语句不输出,但是3是输出的,为什么?
另外如果标记为4和5的地方最后不加true,则3也不输出,看api说加true是代表自动fulsh,但是不对啊。。不加fulsh不行

[解决办法]
你没仔细看,
autoFlush - boolean 变量;如果为 true,则 println、printf 或 format 方法将刷新输出缓冲区。
你调用的是print,所以没有用。

热点排行