存在一个文本文件,且里面有文本数据 现在要向其中添加新的文本信息,该怎么做?我用了FileWriter 的write方法写文件 发现原来的文本信息丢失了.

解决方案 »

  1.   

    PrintWriter pw = new PrintWriter(new FileOutputStream(file, true));
      

  2.   

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.LinkedList;
    import java.util.Random;public class ReadFile {
    private LinkedList<String> list = new LinkedList<String>();
    private ArrayList<String> array = new ArrayList<String>();
    Random random = new Random(); void allocation() {
    File filein = new File("bin\\stdname.txt");
    File fileout = new File("bin\\stdnamesort.txt");
    try {
    FileReader fr = new FileReader(filein);
    FileWriter fw = new FileWriter(fileout);
    BufferedReader br = new BufferedReader(fr);
    BufferedWriter bw =new BufferedWriter(fw);
    try {
    while (true) {
    String string = br.readLine();
    if (string == null) {
    break;
    }
    array.add(string);
    }
    for (int i = 0; i < array.size(); i++) {
    bw.write(array.get(i) + ":       ");
    for (int j = 0; j < 10; j++) {
    String s = array.get(random.nextInt(array.size()));
    if (s.equals(array.get(i))) {
    j--;

    else if (list.contains(s)) {
    j--;
    }else {
    list.add(s);
    }
    }
    bw.write(list+" ");
    list.removeAll(list);
    bw.write("\r\n\r\n");
    }
    bw.flush();
    bw.close();
    System.out.println("完成写入.");
    } catch (IOException e) {
    System.out.println("不能读取文件.");
    }
    } catch (FileNotFoundException e) {
    System.out.println("文件未找到.");
    } catch (IOException e) {
    System.out.println("写入出错.");
    }

    } public static void main(String[] args) {
    new ReadFile().allocation();
    }
    }
    给楼主一个我自己的实例.. 参考下吧.
      

  3.   

    FileWriter(File file, boolean append) 追加内容
      

  4.   

    java.lang.Object
      java.io.Writer
         FilterWriter
         PrintWriter 
         FilterWriter.write方法抛错
         PrintWriter.write方法不抛错      感谢楼上各位,二楼的方法太复杂了.把原文件读了一遍,又再写了一遍, 我想java应该有现成的API 不用那么繁的