你先把 a 文件读出来,
把读出来的文件 写到其他文件的末尾可以用下面的方法:      PrintWriter out =
          new PrintWriter(new FileWriter("c:\\text.txt",true));<<----------你要写的文件
      out.println(" ");<<----------------这里写你读出来的内容      out.close();

解决方案 »

  1.   

    可以用FileInputStream或FileReader,FileWriter吗?他们的用法有什么区别呢?
      

  2.   

    方法1:如catblue(limiaomiao) 所说,
    方法2:随机访问流,RandomAccessFile
      

  3.   

    定位文件流的位置io中好像只能用RandomAccessFile吧.不过RandomAccessFile效率很低.你可以参考ibm上的一文章提高RandomAccessFile的效率.
      

  4.   

    这个比较全,自己找找了!
    package publices;
    import java.io.*;
    public class FileManage
    //文件管理类,进入目录及文件的读写.
    {
      String URL;
     public void FileManage(){} public void setURL(String url)
     {
      this.URL=url;
     }
     public String FileOutput()
     //以字符串型式输出URL所指向的文件的内容,突略换行.
     {
       String data="";
      try
      {
        FileReader fr = new FileReader(this.URL);
        int c = fr.read();
        while (c != -1) {
          //System.out.print((char)c);
          data=data+(char)c;
          c = fr.read();
          if (c == 13) {
            fr.skip(1);
          }
        }
       fr.close();
      }
      catch(IOException ex)
      {
        ex.printStackTrace();
      }
      return data;
     }public int IntOutput()
    {
      int counter=0;
       try
       {
       FileReader fr=new FileReader(this.URL);
       BufferedReader br=new BufferedReader(fr);
       String Line=br.readLine();
       counter = Integer.parseInt(Line);
       br.close();
       fr.close();
       }
      catch(IOException ex)
         {
           ex.printStackTrace();
         }
     return counter;
    } public void FileInput(String url,String add)
     //向URL指向的文件追加add内容, 测试为乱码。
     {
     try
     {
     //System.out.println(add);
     String gb=new String(add.getBytes("GBK"));
     System.out.println(gb);
     RandomAccessFile rf=new RandomAccessFile(url,"rw");
     rf.seek(rf.length());
     rf.writeBytes(gb);
     rf.close();
     }
     catch(Exception ex)
     {
      System.out.println("写入数据发生异常!!");
      ex.printStackTrace();
     }
     } public void AddInput(String data,String data2)
     //向文件中追加data2的内容,data为读取文件的内容,经过测试可用。
     {
     try
     {
     FileWriter fw=new FileWriter(this.URL);
     BufferedWriter bw=new BufferedWriter(fw);
     bw.write(data+","+data2);
     bw.flush();//将数据更新至文件
     fw.close();//关闭文件流
     }
     catch(IOException ex)
     {
       ex.printStackTrace();
     }
     } public int ParseDate(String data,String data2)
     //解析字符串,返回字符串data2在字符串data中的位置
     {
      int i=0;
      int j=0;
      int k=1;
      for(j=data.indexOf(",")+1;j<=data.lastIndexOf(",");j++)
      {
       k=k+1;
        if(data.substring(j,data.indexOf(",",j+1)).equals(data2))
        {
         i=k;
         break;
        }
        j=data.indexOf(",",j+1);
      }
      if(data.substring(data.lastIndexOf(",")+1).equals(data2))
        {
          i = k + 1;
        }
      if(data.substring(0,data.indexOf(",")).equals(data2))
      {
        i = 1;
      }   return i;
     }public void CreateFile()
     //判断文件夹是否存在,如果不存在则建立
    {
     try{
      File f=new File(this.URL);
       if(!f.exists())
       {
         f.mkdirs();
       }
       }
       catch(Exception ex)
       {
        ex.printStackTrace();
       }
    }public void CreateDocu(String DocuName)
    //测试文档DocuName是否存在,如果不存在则新建,测试可用。文件名要加后辍,如.txt
    {
    try
    {
         File f = new File(this.URL, DocuName);
         if (!f.exists()) {
           f.createNewFile();
         }
       }
      catch(IOException ex)
      {
       ex.printStackTrace();
      }
    }public void WriteData(String DocuName,String DocuData)
    //向文档DocuName中以行的形式写入数据,经过测试可用。
    {
     try
     {
       FileWriter fw = new FileWriter(this.URL + "\\" + DocuName);
       BufferedWriter bw = new BufferedWriter(fw);
       bw.write(DocuData);
       bw.flush();
       fw.close();
     }
     catch(IOException ex)
     {
      ex.printStackTrace();
     }
    }public void  InitData()
    {
     try{
      File f=new File(this.URL);
       if(!f.exists())
       {
         f.mkdirs();
         this.WriteData("count.txt","0001");
       }
       }
       catch(Exception ex)
       {
        ex.printStackTrace();
       }
    } public String SearchSortCaption(String data,int i)
      {
       int m=data.indexOf(',');
       String data1="";
       if(i==1)
        {
         data1=data.substring(0,data.indexOf(','));
        }
       else
        {
         for(int j=2;j<i;j++)
          {
           m=data.indexOf(',',m+1);
          }
          if(m<data.lastIndexOf(','))
           {
             data1 = data.substring(m + 1, data.indexOf(',',m + 1));
           }
          else
          {
           data1=data.substring(data.lastIndexOf(',')+1);
          }
        }
        return data1;
      }
    }