我的问题是,是否直接使用,如下所示;
class Test{
public static void main(String args[]){
try{
FileWriter fo =new FileWriter("somex.txt");
int arr[] = {9};
for(int i =0; i <arr.length; i++){
fo .write(arr[i]); // this is very costly.
}
fo.write(b);
fo.close();
System.out.println("....");
}catch(Exception e){system.out.println(e);}
}
}
OR
编码效率更高,如下所示;
class Test{
public static void main(String args[])throws Exception{
BufferedWriter bfw= new BufferedWriter(new FileWriter("foo.out")));
int arr[] = {9};
for(int i =0; i <arr.length; i++){
bfw .write(arr[i]);
}
bfw.flush();
bfw.close();
System.out.println(".......");
}
}
没有区别,因为两者都会进行相同的写操作。有人能帮助我理解这些微妙之处吗?
答案 0 :(得分:1)
BufferedWriter
将内容存储在内存中,直到达到缓冲区大小为止,然后每次FileWriter
都会直接写入一次大写。因此,对于循环的每次迭代FileWriter
,都会有写入。 BufferedWriter
只能在循环结束时写一次,具体取决于缓冲区大小。