在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);
}