2013-04-05 40 views
-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); 
      } 
     } 

這是我已經張貼問題here..But這似乎並沒有工作之前試過。 現在有人可以幫我解決..?

+1

操作方法:用Java編寫程序 – Andremoniy 2013-04-05 12:15:21

+0

搜索(\\ *)並用(\\ d +)(\\)替換 – pordi 2013-04-05 12:18:38

+0

@Ons這是什麼?(\\ d +)(\))? – AmitG 2013-04-05 12:26:53

回答

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"))); 
+0

你可以看看編輯代碼,並指出我要去哪裏錯了..? – FarSh018 2013-04-05 13:26:02

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 
相關問題