2014-10-17 98 views
0

我正在嘗試編寫一個從一個文件讀取數據並將其寫入另一個文件的代碼,它還應該包含應該從輸入文件中跳過特定字符然後編寫它的功能到另一個文件。在java中跳過一個字符

import java.io.*; 
class Test { 
    public static void main(String[] args) throws IOException { 
     //Opening the streams 
     FileReader in = new FileReader("input.txt"); 
     BufferedReader br = new BufferedReader(in); 
     FileWriter out = new FileWriter("output.txt"); 
     BufferedWriter bw = new BufferedWriter(out); 
     int c = 0; 
     while ((c = in.read()) != -1) { 
      in .read(); 
      bw.write((char) c); 
     } 
     br.close(); 
     bw.close(); 
    } 
} 

說我想跳過輸入文件中的數據字符a,和我的輸入文件包含Name: abc

我想將Nme: bc寫入它的輸出文件。但是,我在輸出文件中得到了Nm:bc

我也嘗試過使用BufferedReaderskip()方法,但它仍然沒有給出正確的輸出。

回答

2

skip()是不是你想要的。您還有一個額外的read()調用,因此循環正在讀取兩個字符,但只寫入其中一個字符。只要檢查你的角色,不要寫它,如果它是你想跳過的:

while ((c = in.read()) != -1) { 
    char asChar = (char) c; 
    if (asChar != charToSkip) 
    bw.write(asChar); 
} 
+0

thanks @ user1943369 – Aisha 2014-10-17 20:01:33