2014-10-17 2 views
0

한 파일에서 데이터를 읽고 다른 파일에 쓰는 코드를 작성하려고하는데 입력 파일의 특정 문자를 건너 뛰고 작성해야하는 기능도 포함해야합니다 다른 파일로. 자바에서 문자 건너 뛰기

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이 표시됩니다.

또한 방법을 사용하여 시도했지만 BufferedReader 올바른 출력을 제공하지 않습니다.

답변

2

skip()은 원하는 것이 아닙니다. 또한 추가 read() 호출이 있으므로 루프는 두 개의 문자를 읽지 만 하나만 씁니다. 문자를 확인하고 건너 뛰고 싶은 문자는 쓸 수 없습니다.

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

thanks @ user1943369 – Aisha