在java中跳过字符

在java中跳过字符,java,bufferedreader,Java,Bufferedreader,我正在尝试编写一个代码,从一个文件中读取数据并将其写入另一个文件,它还应包括一个功能,即它应跳过输入文件中的特定字符,然后将其写入另一个文件 import java.io.*; class Test { public static void main(String[] args) throws IOException { //Opening the streams FileReader in = new FileReader("input.txt");

我正在尝试编写一个代码,从一个文件中读取数据并将其写入另一个文件,它还应包括一个功能,即它应跳过输入文件中的特定字符,然后将其写入另一个文件

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
skip()
方法,但仍然没有给出正确的输出。

skip()
不是您想要的。您还有一个额外的
read()
调用,因此循环正在读取两个字符,但只写入其中一个。只需检查您的角色,如果是要跳过的角色,请不要写入:

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