java - java ObjectOutputStream 创建带有乱码数据的 csv 文件
问题描述
我有超过 300 个表要导出到 CSV 文件。但是我看到乱码数据。
我发送表名并使用 jdbctemplate 检索数据我可以看到数据但是当我导出时我看到乱码值
sr1org.springframework.util.LinkedCaseInsensitiveMapiEkMÑ=f$LcaseInsensitiveKeystLjava/util/HashMap
sr1org.springframework.util.LinkedCaseInsensitiveMapiEkMÑ=f$LcaseInsensitiveKeystLjava/util/HashMap
q~q~q~q~xq~sq~?@wq~sq~q~trivera92q~
下面是代码:
导出数据.java
public List getTableData(String tableName){
return jdbcTemplate.queryForList("select * FROM " + tableName + " LIMIT 10");
}
创建 csv 文件
@Autowired
ExportData exportData;
public void CreateCsvData(){
String tableName = "user_details";
String folderPath = "/tmp/Data/";
List data = this.exportData.getTableData(tableName);
try {
FileOutputStream fis = new FileOutputStream(folderPath + tableName + ".csv",true);
ObjectOutputStream os = new ObjectOutputStream(fis);
for (int i = 0; i < data.size(); i++) {
os.writeObject(data.get(i));
os.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
这是 pom.xml
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-jdbc -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>2.0.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.0.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
</dependency>
<dependencies>
我看到了很多例子,resultsetextractor
但是RowMapper
很难为 300 个表编写模型。
对不起这是我的错; 我确实遍历了对象忘记将其粘贴在这里;
解决方案
推荐阅读
- angular6 - 如何仅在模型上显示/隐藏 ng4-spinner-loader 角度 4/6/7?
- reactjs - 如何将 React Native AsyncStorage 与 React 钩子一起使用?
- react-native - (react-native)中是否有适用于Android和IOS的本机recyclerview
- jmeter - 使用 MFA 登录时如何使用 JMeter 进行负载测试
- python - 如何在熊猫中创建邻接矩阵,以便在重新排列行和列时保留标签
- excel - 使用vba从acces写入excel时如何自动扩展表格行并拆分字符串如果单元格溢出到下一行
- azure - 如果输入代码没有任何反应。在 Visual Studio 代码终端中打开 azure cloud shell
- jquery - 使用mysql和ajax时访问json字符串中的变量的问题
- powershell - 基于动作的对象事件有时会丢失
- powershell - 没有对文件夹进行更多更改时使用 Powershell 执行脚本