2015-10-30 70 views
0

我正在尋找掩蓋文本文件的內容。如何在Java中掩蓋文本文件的內容

例如:文本文件包含如數據

Peter|[email protected]|312-445-9988|....| 
John|[email protected]|123-457-6789|....| 

預期輸出:

Peter|[email protected]|XXX-XXX-XXXX|....| 
John|[email protected]|XXX-XXX-XXXX|....| 

我不得不掩蓋像電話號碼和郵件ID,直到彼得不是@ gmail.com

內容

這是我的代碼,我試過,直到從文本文件中讀取數據後,我沒有得到任何想法...

public class DataMasking { 
public static void main(String args[]) throws IOException{ 

    BufferedReader in = new BufferedReader(new FileReader("Filepath")); 
    String str; 

    List<String> parts = new ArrayList<String>(); 
    while ((str = in.readLine()) != null) { 

     parts.add(str); 
     } 
    int size = parts.size(); 
    //we are reducing the size by one because we are not counting the first line(Only contains file name and time stamp). 
    size = size-1; 
    System.out.println("The Number of lines in the text file "+size); 

任何幫助表示讚賞。

+0

那麼你需要在屏幕上打印時掩蓋數據嗎? –

+1

你需要提供哪些掩蔽的細節?你打算刪除電子郵件地址的第一位嗎?將它替換爲*或類似的東西?電話號碼怎麼樣? –

+0

屏蔽數據並將數據保存在其他文件中。 - 尼克DeFazio – vicky

回答

0

好吧,可能你想要這樣的東西。試試吧 -

BufferedReader in = new BufferedReader(new FileReader("filepath")); 
String str; 

List<String> parts = new ArrayList<String>(); 
while ((str = in.readLine()) != null) { 
     parts.add(str); 
    } 
List<String> newList = new ArrayList<String>(); 
List<String> emailPart=new LinkedList<String>(); 
List<String> numberPart=new LinkedList<String>(); 
for(int i=1;i<parts.size();i++){ 
    String[] strArr=parts.get(i).split("\\|"); 
    for(int j=0;j<strArr.length;j++){ 
     if(strArr[j].matches(".*@.*")){ 
      int index=strArr[j].indexOf("@"); 
      emailPart.add(strArr[j].substring(0, index).replaceAll("[A-Za-z0-9]", "X")+ 
        strArr[j].substring(index, strArr[j].length())); 
     } 
     if(strArr[j].matches("[0-9\\-]+")){ 
      numberPart.add(strArr[j].replaceAll("[0-9]", "X")); 
     } 
    } 
     newList.add(strArr[0]+"|"+emailPart.get(i-1)+"|"+numberPart.get(i-1)); 
} 
System.out.println(newList); 
+0

嗨這應該是預期的輸出:彼得| [email protected] | XXX-XXX-XXXX | .... | John | [email protected] | XXX-XXX-XXXX | .... | – vicky

+0

我編輯了答案。請檢查它並讓我知道它是否適合你。 –

相關問題