gpt4 book ai didi

java - 如何在文件中或遇到换行符之前追加一行?

转载 作者:搜寻专家 更新时间:2023-11-01 03:03:24 26 4
gpt4 key购买 nike

输入文件:

Online_system_id
bank_details
payee
credit_limit
loan_amount

Online_system_id
bank_details
payee
credit_limit
loan_amount

预期输出:

Online_syatem_id
bank_details
payee
credit_limit
loan_amount
proc_online_system_id

Online_syatem_id
bank_details
payee
credit_limit
loan_amount
proc_online_system_id

下面给出代码供引用。
我想在每条记录之后添加一行,即在遇到空白行之前。
我需要做哪些改变?

String line;
int flag=0;
PrintStream out = new PrintStream(outputFile);
BufferedReader br = new BufferedReader(new FileReader(outputFile));
while((line=br.readLine())!=null){
if(!line.contains("proc_online_system_id")){
flag=1;
}

}
if(flag==1)
out.print("proc_online_system_id");

最佳答案

String line;
PrintStream out = null;
BufferedReader br = null;
try {
out = new PrintStream(new FileOutputStream(outputFile));
br = new BufferedReader(new FileReader(inputFile));
while((line=br.readLine())!=null){
if(line.trim().isEmpty()) {
out.println("proc_online_system_id"); //print what you want here, BEFORE printing the current line
}
out.println(line); //always print the current line
}

} catch (IOException e) {
System.err.println(e);
} finally {
try{
out.close();
br.close();
} catch (Exception ex) {
System.err.println(ex);
}
}

并且不要忘记之后的 out.close();br.close();。此解决方案仅将当前行存储在内存中,而不是 Dakkaron's answer ,这是正确的,但需要在写入文件之前将整个文件存储在内存中(在 StringBuilder 实例中)。

编辑:在 Vixen 发表评论后,here is the link ,如果你有 java 7,并且你想在你的解决方案中使用 try with 资源。

关于java - 如何在文件中或遇到换行符之前追加一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30780455/

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