gpt4 book ai didi

java - 循环中的缓冲写入器正在 txt 文件中创建空行

转载 作者:行者123 更新时间:2023-12-01 11:48:13 25 4
gpt4 key购买 nike

完整代码链接:http://pastebin.com/Y0FA7zuG

我的代码:

public void dadUpdateFunction(ArrayList<JTextArea> texts)
{
try{
//Specify the file name and path here
File file =new File("C:\\Users\\Karan\\Documents\\dadTXT.txt");

/* This logic is to create the file if the
* file is not already present
*/
if(!file.exists()){
file.createNewFile();
}

//Here true is to append the content to file
FileWriter fw = new FileWriter(file,true);

//BufferedWriter writer give better performance
BufferedWriter bw = new BufferedWriter(fw);
String content = "Karan";
int i= 0;

for(i= 0; i<texts.size(); i++)
{
content = (texts.get(i).getText() );
if(i!=0)
bw.newLine();

if(i>0)
texts.get(i-1).setEditable(false);
}

bw.write(content + "\n");
//Closing BufferedWriter Stream
bw.close();

System.out.println("Data successfully appended at the end of file");

}catch(IOException ioe){
System.out.println("Exception occurred:");
}
}

所以我有一个 JTextArea 的数组列表。在我的程序中,用户可以在 JTextArea 中写入,然后单击此更新按钮,最新 JTextArea 框中写入的文本将添加到 txt 文件中。但是,我在 txt 文件中得到的输出是这样的:http://pastebin.com/fijFQKZi

我不希望数字之间有空行,因为这会扰乱我的缓冲阅读器。为什么要添加这些空行?

我该如何解决这个问题?我是新来的,所以如果我写得不好,请告诉我。

谢谢!

最佳答案

这在很多方面都让我感到困惑。在循环中,您不断地为 content 赋予新值,而无需对其执行任何操作,直到循环结束。同时,您将换行符写入缓冲区,除了第一次(这部分是有道理的)。我认为您需要在循环内移动 bw.write(content) 并在循环后将其删除。

for(i=0; i<texts.size(); i++)
{
if(i!=0) {
bw.newLine();
}
bw.write(texts.get(i).getText());
if(i>0) {
texts.get(i-1).setEditable(false);
}
}
bw.close();

关于java - 循环中的缓冲写入器正在 txt 文件中创建空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28983319/

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