我自己写了个小程序可是运行总是有问题,请各位高手帮忙指点一下~~
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;public class test1 {

public test1() {
super();}
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new FileReader("d:\\111.txt"));
String s1;
while ((s1=in.readLine())!=null)
{
System.out.println(s1);
if (s1.substring(32,41).equals("         "))
{
PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("d:\\err.out")));
System.out.println("111111"+s1);
out1.write("111"+s1);
out1.close();
}
}

}}
我就是想将第一个文件的内容读出来然后将符合条件的内容放到第二个文件里,可是总是只能得到最后一行的数据,前面的都没有了,我用append,write试过了也不行。
再就是我如何才能删掉文件中的一行数据???
分不多,望各位不嫌弃~:)

解决方案 »

  1.   

    1、应该用追加的方式写到目标文件中去
    PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("d:\\err.out"),true));
    2、不能单独删除一个行。需要全部读出来后,删除其中的一个行再重新写进去。
      

  2.   

    应该把它PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("d:\\err.out")));
    拿到while循环的外面
    你这样每条数据都重新打开那个文件,往里写数据是从文件头写的所以你只能得到最后一行数据,
      

  3.   

    不过我怎么去将那个新的文件命名成和原来一样的呢??
    -------------
    先删除原文件,再把需要改名的文件进行改名renameTo("sourcename")
      

  4.   

    谢谢楼上的各位~
    如何删除原文件?楼上说的renameTo("sourcename")是哪个包里的..我咋没见过
      

  5.   

    我试了一下改文件名不行,不知道为啥,给我返回个false...
    File source = new File("d:\\222.txt");
    File targer = new File("d:\\111.txt");
    System.out.println(source.renameTo(targer));
    请各位给看一下~:)