对BufferedOutputStream的flush方法的疑惑
请教一个问题:
BufferedOutputStream的flush方法是强制将缓冲区中的内容写入到文件中,防止因缓冲区不满而带来的问题。
但是我的程序完成一个文件复制过程,这个文件比默认的缓冲区512字节要小,只有120个字节,即使不调用flush一样可以啊。请各位大侠帮助解释一下
int b = 0;
FileInputStream in = null;
FileOutputStream out = null;
int i = 0;
try {
in = new FileInputStream("d:\\Source.java"); //提醒学生注意:in = new FileInputStream("d:/Source.java"); 也是正确的形式
BufferedInputStream bIn = new BufferedInputStream(in);
out = new FileOutputStream("d:\\Destination.java");
BufferedOutputStream bOut = new BufferedOutputStream(out);
while ((b=bIn.read()) != -1) {
i++;
bOut.write(b);
}
bIn.close();
bOut.close();
System.out.println("============"+i);
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件!");
System.exit(-1);
} catch(IOException e){
System.out.println("文件复制错误!");
System.exit(-1);
}
System.out.println("文件已复制");