gpt4 book ai didi

java - 如何知道所有内容是否都已附加到 csv 中?

转载 作者:行者123 更新时间:2023-11-30 03:48:55 26 4
gpt4 key购买 nike

这是我的代码:

public static void writeDataToCSV(CustomObjectData customObjectData, int pageCounter) {
try {
int i = 0;
int elementCounter = 0;
List<String> values = new ArrayList<>();
String tmp = "";

// System.out.println("Size of customobjectdata elements, should be 1000:
"+customObjectData.elements.size());

for (CustomObjectDataElements x : customObjectData.elements) {
for (FieldValue y : x.fieldValues) {
values.add(y.value);
}
for (String element : values) {
tmp += element + ";";
}

writer.append(tmp.substring(0, tmp.length() - 1) + "\r\n");
// count elements written into file to track in case of failure
elementCounter++;
if (elementCounter % 20 == 0) {
System.out.print("*");
}
System.out.println("");

FileWriter out = new FileWriter("data\\resumeat.txt");
System.out.print(elementCounter+pageCounter*1000+"");
out.write(elementCounter+pageCounter*1000+"");
out.close();
values.clear();
tmp = "";
}
System.out.println("Records: "+pageCounter*1000+" - "+
((pageCounter+1)*1000-1) +" written to csv.");
// System.out.println("Headers: "+CSVHeaders+" Values: "+CSVValues);

System.out.print(".");

if (i >= 99) {
System.out.println("");
i = -1;
}

i++;

} catch (IOException e) {
e.printStackTrace();
}

}
}

这是将记录附加到 csv 的简单方法。不幸的是,我需要跟踪导入的每条记录,这样如果程序崩溃,我可以从该记录开始。

我尝试将最后附加的元素数量保存到txt文件中。

但是,在 txt 文件中我写了例如2000 年,csv 中只有 1987 年的记录。这意味着如果我使用 writer.append 它不会立即执行。即使我的计数器是在附加之后。看起来程序不会等到它被附加。如果它已经附加或有任何想法,我可以以某种方式检查它吗?

最佳答案

如果您使用 BufferedWriter ,正如其名称所暗示的那样:我使用缓冲区。如果在某个时间点您想确保该缓冲区中的所有数据都被写出,则必须发出对 writer.flush 的调用(除非您已经关闭 writer >).

关于java - 如何知道所有内容是否都已附加到 csv 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24905569/

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