gpt4 book ai didi

java - 在java中读取时跳过文本文件的某些部分

转载 作者:行者123 更新时间:2023-12-01 16:35:49 27 4
gpt4 key购买 nike

我正在阅读一个文本文件。它有我想删除的 block 。我有没有办法说,如果读者遇到字符串“帐户声明”,它会跳过读取该声明之前的 10 行。这是我当前正在使用的代码,它从文本文件中读取所有内容。

  for(int i = 0; i < filenames.length; i++){
FileInputStream fstemp = new FileInputStream("C:/Temporary/" + filenames[i]);
FileOutputStream fos = new FileOutputStream("C:/Statements/" + filenames[i]);
DataInputStream in1 = new DataInputStream(fstemp);
UniqueLineReader brtemp = new UniqueLineReader(new InputStreamReader(in1));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
String strLine;
while((strLine = brtemp.readLine()) != null){
bw.write(strLine);
bw.newLine();
bw.flush();

}


}

最佳答案

我假设您确实想跳过“STATMENT OF ACCOUNT”行之后的 10 行。在这种情况下,您想要这样的东西:

int linesToSkip = 0;
String strLine;
while((strLine = brtemp.readLine()) != null) {
if (linesToSkip > 0) {
linesToSkip--;
continue;
}
if (strLine.equals("STATEMENT OF ACCOUNT")) {
linesToSkip = 10;
continue;
}
bw.write(strLine);
bw.newLine();
bw.flush();
}

如果您确实想以某种方式删除十行,那么您需要延迟输出(例如将其保存在循环缓冲区中)直到十行之后,以防万一您看到“账户报表”只需几行时间。

关于java - 在java中读取时跳过文本文件的某些部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9194996/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com