使用java在txt文件中替换多个单词

时间:2016-03-18 05:23:19

标签: java bufferedreader bufferedwriter

我需要使用java替换txt文件中的多个单词。该程序仅替换整个文件中的唯一一个单词。

import java.io.*;

public class MultiReplace
{
 public static void main(String args[])
     {
     try
         {
         File file = new File("file.txt");
         BufferedReader reader = new BufferedReader(new FileReader(file));
         String line = "", oldtext = "";
         while((line = reader.readLine()) != null)
             {
             oldtext += line + "\r\n";
         }
         reader.close();
         String newtext = oldtext.replaceAll("india", "freedom");       
         FileWriter writer = new FileWriter("file.txt");
         writer.write(newtext);writer.close();
     }
     catch (IOException ioe)
         {
         ioe.printStackTrace();
        }
      }
}

2 个答案:

答案 0 :(得分:0)

试试这个:

   import java.io.*;

    public class MultiReplace
{
 public static void main(String args[])
     {
     try
         {
         File file = new File("file.txt");
         BufferedReader reader = new BufferedReader(new FileReader(file));
         String line = "", oldtext = "";
         while((line = reader.readLine()) != null)
             {
             // Replace in the line and append
              line = line.replaceAll("india", "freedom");
             oldtext += line + "\r\n";
         }
         reader.close();    
         FileWriter writer = new FileWriter("file.txt");
         writer.write(newtext);
         writer.flush();
         writer.close();
     }
     catch (IOException ioe)
         {
         ioe.printStackTrace();
        }
      }
    }

请参阅this以了解您的版本无效的原因。

答案 1 :(得分:0)

你的解决方案是正确的!我按原样运行你的程序,它能够在文本文件中用自由替换所有印度