以下代码都是实现了向test.txt文件中写入字符串并换行、分隔且不覆盖原文件中的内容的功能,它们有哪些不同,哪个方法更好一些,为什么?
方法1:
String[] s={"锄禾日当午","汗滴禾下土"};
FileOutputStream fos=new FileOutputStream("test.txt",true);
OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bw=new BufferedWriter(osw);
PrintWriter pw=new PrintWriter(bw,true);
for(int i=0;i<s.length;i++){ //将数组s中的内容写入文件test.txt,并换行,用“---------”分隔
pw.println("----------");
pw.println(s);
}
方法2:
String[] s={"锄禾日当午","汗滴禾下土"};
FileWriter fw=new FileWriter("test.txt",true);
PrintWriter pw=new PrintWriter(fw,true);
for(int i=0;i<s.length;i++){
pw.println("----------");
pw.println(s);
}
方法3:
String[] s={"锄禾日当午","汗滴禾下土"};
FileWriter fw=new FileWriter("test.txt",true);
BufferedWriter bw=new BufferedWriter(fw);
PrintWriter pw=new PrintWriter(bw,true);
for(int i=0;i<s.length;i++){
pw.println("----------");
pw.println(s);
}
另外,除了以上方法,还有其他更好的方法吗??不用PrintWriter类可以往文件中写入换行吗??
方法1:
String[] s={"锄禾日当午","汗滴禾下土"};
FileOutputStream fos=new FileOutputStream("test.txt",true);
OutputStreamWriter osw=new OutputStreamWriter(fos);
BufferedWriter bw=new BufferedWriter(osw);
PrintWriter pw=new PrintWriter(bw,true);
for(int i=0;i<s.length;i++){ //将数组s中的内容写入文件test.txt,并换行,用“---------”分隔
pw.println("----------");
pw.println(s);
}
方法2:
String[] s={"锄禾日当午","汗滴禾下土"};
FileWriter fw=new FileWriter("test.txt",true);
PrintWriter pw=new PrintWriter(fw,true);
for(int i=0;i<s.length;i++){
pw.println("----------");
pw.println(s);
}
方法3:
String[] s={"锄禾日当午","汗滴禾下土"};
FileWriter fw=new FileWriter("test.txt",true);
BufferedWriter bw=new BufferedWriter(fw);
PrintWriter pw=new PrintWriter(bw,true);
for(int i=0;i<s.length;i++){
pw.println("----------");
pw.println(s);
}
另外,除了以上方法,还有其他更好的方法吗??不用PrintWriter类可以往文件中写入换行吗??
BufferedWriter缓冲区机制,减少每次调用字符转换器造成性能下降,