java - 将java对象写入.csv

标签 java file opencsv

我有下面的java类:

class DeviceUser{
private String d1;
@CsvBind
private Long u1;
@CsvBind
private Long lt;
@CsvBind
private DeviceUser ref;
//getters and setters
}

我想将存储在 DeviceUser 对象中的数据写入 .csv 文件。

输出应该是:
输出.csv:
设备ID,6111,1200,设备ID,6111,1200,

最佳答案

向您的类添加以下方法:

public String[] toArray() {
    String[] result = new String[6];
    result[0] = this.d1;
    result[1] = this.u2.toString();
    result[2] = this.lt.toString();
    result[3] = this.ref.getd1();
    result[4] = this.ref.getu2().toString();
    result[5] = this.ref.getlt().toString();
    return result;
}

现在使用以下内容:

 CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv"), ',');
 // feed in your array (or convert your data to an array)
 writer.writeNext(deviceUser.toArray());
 writer.close();

尽管它会起作用,但这不是您想要的方式。要将对象写入文件,最好编写 JSON。我推荐 Google Gson

Gson gson = new Gson();
gson.toJson(obj, new FileWriter("yourfile.csv"));

关于java - 将java对象写入.csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40213551/

相关文章:

java - 如何将文本文件内容导入 Java 应用程序中的 JTextArea?

file - 如何将文件夹上传到 Google Colab?

java - opencsv:如何解析单元格内带双引号的数据?

java - 如何编写客户端从Rest Web服务获取数据和图像文件

java - 连接到 Mysql 数据库 - JDBC 或 PHP

java - 在java中 `.properties`文件在编辑模式下没有显示任何内容

java - 如何在 java 中打印 zip 文件的压缩速度?

c++ - 为什么不使用 Apache 在 CGI 中创建文件?

Java 应用程序使用 openCSV CSVReader 读取 csv 文件时出错... java.lang.ArrayIndexOutOfBoundsException

java - 如何使用 opencsv 验证 csv header