java - 写入 CSV 文件时,之前的字符串将被覆盖

标签 java

我正在尝试制作一个简单的程序,将用户在 Swing 表单上的输入保存到 .CSV 文件中。我让它工作到第一次写入的地方。

如果我退出或输入第二组值,然后单击“保存”,则文件中的前一个字符串将被覆盖。

            try {
                PrintWriter pw = new PrintWriter(new File("customer.csv"));
                StringBuilder sb = new StringBuilder();

                sb.append(merch);
                sb.append(',');
                sb.append(cont);
                sb.append(',');
                sb.append(mail);
                sb.append(',');
                sb.append(cphone);
                sb.append('\n');

                pw.write(sb.toString());
                pw.flush();
                pw.close();

            } catch (FileNotFoundException e1) {
                JOptionPane.showMessageDialog(frame, "File Not     Located");
                e1.printStackTrace();

我尝试添加 'sb.append('\n');'到最后以为这样就能解决问题,但事实并非如此。

最佳答案

您需要以附加模式打开文件:

PrintWriter pw = new PrintWriter(new FileWriter("customer.csv", true));

关于java - 写入 CSV 文件时,之前的字符串将被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36556173/

相关文章:

java - 无法在 Ubuntu 中使用 Java 压缩空文件夹

java - 如何在 Java 桌面应用程序中拥有菜单(网站样式导航链接)

java - 如何将 Jasypt 与 Spring Autowiring 一起使用?

java - 如何将 PNG 文件数组添加到 ArrayList<Image> - Java

java - SpringBoot Kafka消费者 : Failed to start bean internalKafkaListenerEndpointRegistry TimeoutException

java - 如果某个项目多次出现,则删除列表中该项目的所有实例

java - 将无穷大参数作为输入传递给泛型

java - 如何并行而不是顺序执行多个查询?

java - 自定义 JpaRepository 过滤器或查询

Java Servlet JDBC 认证