-5

我的文本文件内容看起来像这样

慌乱的近义词:

*恐慌

*扰动

*搅乱

*迷惑……

现在我想用数字替换*。像这样的东西。

输出

慌乱的近义词:

1)恐慌

2)扰动

3)不安

4)混淆......

编辑:

Integer count = 1;
     File input = new File("C:\\Sample.txt");
     File output = new File("C:\\output.txt");

     BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(input)));
     Writer writer =new FileWriter(output);
      while((line=reader.readLine())!=null)
      {
          if(line.contains("*"))
          {
              line.replace("*",count.toString() );
              writer.write(line);
              count++;
          }

          else
          {
              writer.write(line);
          }
      }

这是我在这里发布问题之前尝试过的。但这似乎不起作用。现在有人可以帮我..?

4

2 回答 2

2

您应该编写一个 JAVA 程序。

这里有一些可以让你开始的东西(粗略的代码):

BufferedReader br = new BufferedReader(new FileReader(file));

//start reading file line-by-line
while ((line = br.readLine()) != null) {

    //replace * with whatever you want
    // Use a counter to keep track of lines to give corresponding line number
    String val = line.replace("*",counterVar.toString());

}
br.close();

再次使用写回文件,如果您愿意,可以BufferedWriter将其包装起来,PrintWriter

PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outputfile")));
于 2013-04-05T12:22:17.193 回答
0

尝试这样的事情(未经测试的代码):

try{
       List<String> lines = Files.readAllLines(fileName, Charset.defaultCharset());
        for (int i = 0; i< lines.size(); i++) {
            lines.set(i, lines[i].replace("*", String.valueOf(i)));
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
 ...//Then save the file
于 2013-04-05T12:28:44.200 回答