简体   繁体   English

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

[英]multiple words replace in txt file using java

I need to replace multiple words in txt file using java. 我需要使用Java替换txt文件中的多个单词。 This program only replacing the only one word, in whole file. 该程序仅替换整个文件中的一个单词。

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();
        }
      }
}

Try this: 尝试这个:

   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();
        }
      }
    }

Refer this to understand why your version is not working. 请参考此内容以了解您的版本为何无法正常工作。

Your solution is correct!! 您的解决方案是正确的! I ran your program as is and it is able to replace all the india with freedom in the text file 我按原样运行您的程序,它可以在文本文件中自由替换所有印度

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM