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

Lil*_*ily 2 java arrays file export-to-csv

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

代码

 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());
        }
Run Code Online (Sandbox Code Playgroud)

预期输出:

数据应在 CSV 文件中显示如下。

1杯

蜂蜜

2汤匙

油菜

我怎么能得到预期的结果。?

JAM*_*AID 5

        String str ="1 cup, honey, 2 tablespoons ,canola" ;
Run Code Online (Sandbox Code Playgroud)

这将数据保留在一行中,并且每个逗号都根据 CSV 文件的规则将数据带到新列。您需要在数据中添加一个新行,以便在每个逗号后将数据保留到新行。这可以通过这个来完成。

 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());
    }
Run Code Online (Sandbox Code Playgroud)