以下代码都是实现了向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类可以往文件中写入换行吗??