如何使用Java将字符串中的逗号分隔值存储为CSV

如何使用Java将字符串中的逗号分隔值存储为CSV

本文介绍了如何使用Java将字符串中的逗号分隔值存储为CSV的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用以下代码将字符串存储到CSV文件中,但是正在生成空CSV.

I want to store the string into CSV file using the following code but empty CSV is being generated.

代码

 try {
            PrintWriter writer = new PrintWriter(new File("test.csv"));
            StringBuilder sb = new StringBuilder();
            String str ="1 cup, honey, 2 tablespoons ,canola" ;
            sb.append(str);
            writer.write(String.valueOf(sb));

        } catch (FileNotFoundException e) {
            System.out.println(e.getMessage());
        }

数据应在CSV文件中这样显示.

The data should show like this in CSV file.

1杯

蜂蜜

2汤匙

油菜籽

我如何获得预期的结果??

How I could get expected results.?

推荐答案

        String str ="1 cup, honey, 2 tablespoons ,canola" ;

这会将数据保留在一行中,并且每个逗号都按照CSV文件的规则将数据带到新的列中.您需要在数据中添加新行,以在每次逗号后将数据保留在新行中.可以通过此操作完成.

This keeps the data in a single line and every comma takes the data to new column as per the rules of CSV file. You need to append a new line in your data to keep your data to new line after every comma. This can be done through this.

 try (PrintWriter writer = new PrintWriter(new File("test.csv"))) {

        StringBuilder sb = new StringBuilder();
        String str = "1 cup, honey, 2 tablespoons ,canola";
        String []splitted_str=str.split(",");
        for (String string : splitted_str) {
            sb.append(string).append("\n"); //this will add a new line after every value separated by comma.
        }
        writer.write(sb.toString());

        System.out.println("done!");

    } catch (FileNotFoundException e) {
        System.out.println(e.getMessage());
    }

这篇关于如何使用Java将字符串中的逗号分隔值存储为CSV的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 05:05