gpt4 book ai didi

java - 尝试通过java程序在文本文件中的特定行之间添加行(字符串数组)?

转载 作者:行者123 更新时间:2023-12-01 04:47:16 25 4
gpt4 key购买 nike

我正在尝试通过查看各种论坛来编写程序。程序如下,旨在在现有 txt 文件的第 3 行之后、第 5 行之前添加行。当我看到这个程序执行完成时,我试图安全地保留前面的行,但我未能输入第 3 行和第 5 行之间的行。它添加到第 5 行下方。如果这个基本程序有效,那么我将尝试在文件中第 3 行和第 5 行之间添加“字符串数组”,如下所示

import java.io.BufferedWriter;  
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.LineNumberReader;

public class WriteToFileExample {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String content = "This is the content to write into file by Mandar";
File file = new File("/example/mandar.txt");
if(!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.newLine();
bw.close();
System.out.println("Done");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}else{
try {
LineNumberReader lnr = new LineNumberReader(new FileReader(file));
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
BufferedWriter bw = new BufferedWriter(fw);
lnr.setLineNumber(6);
for(int i =1; i<lnr.getLineNumber();i++){
// System.out.println("for = "+i);
// bw.newLine();
if(i == 3){
System.out.println("4");
bw.write(content);
// bw.newLine();
}
}
bw.close();
System.out.println("Done1");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

请帮助我。我没有得到任何线索或想法。

最佳答案

您正在使用 lnr.setLineNumber(6)lnr 设置为写入第 6 行。您的 for 循环只是从 1 开始循环到 6 并在 i==3 时写入第 6 行内容。我尚未对此进行测试,但请尝试使用 lnr.setLineNumber(4) 并摆脱 for 循环。

关于java - 尝试通过java程序在文本文件中的特定行之间添加行(字符串数组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15621521/

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