日期:2014-05-19  浏览次数:21215 次

【求助】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");

}