gpt4 book ai didi

java - 将 .txt 文件转换为一个 .csv。导出的信息会覆盖第一行。有小费吗?

转载 作者:行者123 更新时间:2023-12-02 01:55:58 25 4
gpt4 key购买 nike

我一直在开发一个项目,从多个 .txt 文件中读取数据并将其转换为 .csv 文件。我的问题是导出的数据不断覆盖第一行,因此每次导出文件时它只显示最后一行。有人有什么建议可以帮助我吗?

//Reading the information from the files.
for (String fileName : textFileNames) {
try (Scanner sc = new Scanner(new File(stack + "\\" + fileName));) {
fileIn = sc.nextLine();

while (fileIn != null) {
String line = fileIn;
String[] split = line.split("\\s+");
StringJoiner joiner = new StringJoiner(",");

for (String strVal : split) {
joiner.add(strVal);
}

line = joiner.toString();
line = line.startsWith(",") ? line.substring(1) : line;
System.out.println(line);

BufferedWriter br = new BufferedWriter(new FileWriter("myfile.csv"));
StringBuilder sb = new StringBuilder();

// Append strings from array
sb.append(line);
sb.append("\n");


br.write(sb.toString());
br.close();

fileIn = sc.nextLine();
}


sc.close();

} catch (IOException ex) {
Logger.getLogger(Class_Organizer_Krause.class.getName())
.log(Level.SEVERE, null, ex);
}

}

最佳答案

您将在 while 循环中重新创建 BufferedWriter,实质上是在每次循环到输入文件中的新行时重新创建文件。

将 BufferedWriter 的构造移出 while 循环(就在其之前),将 close 语句移到 while 循环之后,应该没问题。

关于java - 将 .txt 文件转换为一个 .csv。导出的信息会覆盖第一行。有小费吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52278737/

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