【求助】java文件输出 查询结果以逗号分开 换行
我想实现 输出文件以逗号分开 然后 结束1行 换行 怎么实现 求帮助
代码如下:
File myFile=new File(margenOutputpach); //文件输出路径
BufferedWriter out = new BufferedWriter(new FileWriter(myFile));
PreparedStatement ps = null;
Connection conn = jdbc.getConnection(url, username, password);
try {
ps = conn.prepareStatement(SQL_SEL_YIKENSIN); //查询语句
ResultSet rs = ps.executeQuery();
while(rs.next()){
out.write(rs.getString("员工号"));
out.write(rs.getString("入职年月日"));
out.write(rs.getString("性別"));
out.write(rs.getString("生年月日"));
out.write(rs.getString("健康状况"));
}
}
现在生成结果是:
199000072011/09/27278-02-251Ea1199000082011/09/27177-05-041Ca2199000092011/09/28177-05-291Aa3
我想要的结果是:
19900007,2011/09/27,1,1985/03/14,1
19900006,2011/09/27,1,1985/03/14,1
19900003,2011/09/27,1,1985/03/14,1
------解决方案--------------------使用out.println()/代替out.write();就可以了
------解决方案--------------------先拼接成 ,分割的字符串 ,然后再写入嘛
------解决方案--------------------在输出流 里面添加 逗号 和 换行符 \n
------解决方案--------------------public void writerFile(List<List<String>> list, String url) {
// url输出文件的路径
File file = new File(url);
try {
FileOutputStream fos = new FileOutputStream(file);
for (int i = 0; i < list.size(); i++) {
byte[] a = (((list.get(i)).toString()).substring(1, list.get(i)
.toString().length() - 1)).replace(" ", "").getBytes();
fos.write(a);
fos.write("\n".getBytes());
}
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
------解决方案--------------------看到我代码里没有“逗号” 那是应为List 在输出的时候会自带逗号输出
------解决方案--------------------while(rs.next()){
out.write(rs.getString("员工号")+", "+rs.getString("入职年月日")+", "+rs.getString("性別")+", "+rs.getString("生年月日")+", "+rs.getString("健康状况")+"\n");
}