本帖最后由 sxhs1986 于 2011-04-20 21:05:36 编辑

解决方案 »

  1.   

    读写阶段要分开

    br.close();
    放到
    bw = new BufferedWriter(new FileWriter(file));
    前面,
    这两行都放在读完了写之前这个位置上。
      

  2.   


    谢谢:magong,3楼!非常感谢!
    下面附上我改过后,正确的代码,大家可以借鉴!
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.util.ArrayList;
    import java.util.List;/*问题是,往F:\\java\\Append.txt文本中的第3行的数字后面加入AAA,用java解决
     不能把东西输出到别的地方,只能是在F:\\java\\Append.txt里改动。 /*注释:F:\\java\\Append.txt 文本中的内容原本为:
     11
     22
     33
     44
     55
     */
    public class RowAppend {
    public static void main(String[] args) throws Exception {
    File file = new File("F:\\java\\Append.txt");
    BufferedReader br = null;// 加缓冲的文件字符输入流
    br = new BufferedReader(new FileReader(file)); List<String> list = new ArrayList<String>();
    int temp = 0;
    while (br.ready()) {
    String str = br.readLine();
    temp++;
    if (temp == 3) {
    str = str + "AAA";
    }
    list.add(str);
    }
    br.close(); BufferedWriter bw = null;// 加缓冲的文件字符输出流
    bw = new BufferedWriter(new FileWriter(file)); for (String str : list) {
    bw.write(str);
    bw.newLine();
    System.out.println(str);
    }
    bw.close();
    System.out.println(temp);
    }
    }