package yuzhengzhong;import java.io.FileWriter;
import java.io.IOException;public class fileWriter {
   public static void main(String[] args) throws IOException{
   FileWriter fw=new FileWriter("C:\\Documents and Settings\\Administrator\\桌面\\FileTest.txt");
   char c[]={'H','e','l','l','o','\n'};
   String str="Welcome";
   
   fw.write(c);
   fw.write(str);
   
   fw.close();
   }
}
这里,一:c字符数组有\n换行呀,可是写到FileTest.txt里却没有换行,结果是HelloWorld,这是为啥
      二:这个程序运行的结果,是把原本在FileTest.txt里的内容先删掉,再写入HelloWorld,要是我想保留原来的内容,在后面接着写入HelloWorld要怎么办

解决方案 »

  1.   


    import java.io.FileWriter;
    import java.io.IOException;public class FileWriterTest { 
      public static void main(String[] args) throws IOException{ 
      FileWriter fw=new FileWriter("C:\\Documents and Settings\\Administrator\\桌面\\FileTest.txt",true); 
      char c[]={'H','e','l','l','o','\n'}; 
      String str="Welcome"; 
      
      fw.write(c); 
      fw.write(str); 
      
      fw.close(); 
      } 
    } 1.其实是换行的,你用EditPlus打开看看
    2.加个true
      

  2.   

    fw.write("\r\n");//windows的回车换行符一定要这样写,顺序都不能错。
      

  3.   

    public void fileWriter (String msg){
       try{
          File file=new File("C:\\Documents and Settings\\Administrator\\桌面\\FileTest.txt"); 
          if(!file.exists()){
                     file.createNewFile();
          }
          OutputStream fileOut = new FileOutputStream(file,true);
          Writer fileWriter = 
                     new BufferedWriter(new OutputStreamWriter(fileOut,"gb2312"));
          fileWriter.write(msg);
          fileWriter.flush();
          fileWriter.close();
       }catch(IOException ex){
    ex.printStackTrace();
       }
    }
      

  4.   

    如果要判断文件是否存在,应该用new File
    import java.io.*; 
    public class TextFile throws IOException{ 
      public static void main(String[] args) 
      { 
        File file=new File("c:/text.txt"); 
        if(!file.exists()) 
        { 
          file.createNewFile(); 
          FileWriter w=new FileWriter(file); 
          w.write("Hello,welcome"); 
          w.close(); 
        } 
      }