比如原txt内容是你好,今天是星期二!
你好,今天是星期二!
你好,今天是星期二!
我需要改成你好,今天是星期二!
你好,今天是星期三!
你好,今天是星期二!

解决方案 »

  1.   

    http://topic.csdn.net/1
    http://topic.csdn.net/2
    http://topic.csdn.net/3
    http://topic.csdn.net/4我现在要找到http://topic.csdn.net/2,把http://topic.csdn.net/2替换成www.baidu.com
    运行后txt显示的就是
    http://topic.csdn.net/1
    www.baidu.com
    http://topic.csdn.net/3
    http://topic.csdn.net/4
      

  2.   

    是不是只要这三行? 如果是的话。
    可以用个比较简单的方法,就是设置一个标识位,初始值为false。
    然后按行来读取数据,读到一行"你好,今天是星期二!",将标识位设为true。
    然后第二次的时候就改正,改好以后继续设为false。
      

  3.   

    txt文件用utf8编码这样不会乱码
    public class FileChanger {
        private StringBuffer sb=new StringBuffer();
        private void change(File file)throws IOException {
            BufferedReader br=new BufferedReader(new InputStreamReader(
                    new FileInputStream(file),"utf-8"
            ));
            String s=null;
            int i=0;
            while((s=br.readLine())!=null){
                if(i==1){
    //                s.replaceAll("星期三","星期二");
                    s="你好,今天是星期三!";
                    System.out.println("-----------");
                }   
                sb.append(s).append("\n");
                i++;
            }
            br.close();
            System.out.println(sb.toString());
            FileWriter fw=new FileWriter(file);
            fw.write(sb.toString());
            fw.close();    }    public static void main(String[] args)throws IOException{
               new FileChanger().change(new File("e:\\test.txt"));
        }
    }
      

  4.   

    一行一行的读取,可以保存在一个字符串数组中,然后然后判读哪一行是需要修改的,如需修改,先修改,然后再放入到字符串数组中,当读完后,在写会txt中、
      

  5.   

    这规律还不是很明白,为什么只替换第二个,要是不是很大的话把它放到一个String里面,用正则来替换