在txt文件下某一段储存以下内容relation: key person
name: ken
gender: male
tel:13900345671 要求替换文件内容为:relation: key person
name: kelly
gender: female
tel:13876390052         String[] record = new String[100];         int i=0;         try
         {             File file=new File("Family Info.txt");
             FileWriter In=new FileWriter(file,true);             FileReader read=new FileReader(file);
             Scanner scanner=new Scanner(read);             while(scanner.hasNextLine())
             {                 record[i]=scanner.nextLine();
                
                 i++;
             }
                
                for(int a=0;a<i;a++)
             {
                 if(record[a].equals("Relation:key person"))
                 {                     String temp[]=new String[3];
                    for(int b=a;b<a+3;b++)
                    {
                        
                       String key[]=record[b].split(":");
                       temp[b-a]=key[1];
                                           }
                 }
              }
怎样才能做到逐行替换文件内容?谢谢

解决方案 »

  1.   


    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.FileWriter;public class Test { String newGender;
    String newName; String changeGender(String Gender) {
    this.newGender = Gender;
    return newGender;
    } String changeName(String name) {
    this.newName = name;
    return newGender;
    }
    //其他略……
    public static void main(String[] args) throws Exception {
    Test t = new Test();
    FileReader fr = new FileReader("f:\\11.txt");
    FileWriter wr = new FileWriter("f:\\22.txt");
    BufferedReader br = new BufferedReader(fr);
    String str = "";
    while (br.ready()) {
    str = br.readLine();
    if (str.indexOf("gender") != -1) {
    str = t.changeGender("gender: female");
    }
    //其他替换略
    wr.write(str + "\r\n");
    }
    wr.flush();
    }
    }
      

  2.   


    String changeName(String name) {
            this.newName = name;
            return newGender;
        }
    笔误~~~~~~~~~应该是String changeName(String name) {
            this.newName = name;
            return newName; //这里
        }
      

  3.   

    顶,try catch 补上就OK了
      

  4.   

    用java.util.Properties
    简单快捷
      

  5.   

    搂主看一下该类的API,比自己一行一行的读省事多了