黑框交互工具-dataCopy

import java.io.*; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Demo { //获取输入 static Scanner input = new Scanner(System.in); public static void main(String[] args) { menu(); } // 菜单栏 public static void menu() { boolean istrue = true; do { System.out.println(); System.out.println("************技能编排*************"); System.out.println("1.查询"); System.out.println("2.删除"); System.out.println("3.下载"); System.out.println("4.退出"); System.out.println("请进行操作选择!"); String chance = input.next(); switch (chance) { case "1": //查询 query(); break; case "2": //删除 del(); break; case "3": //下载 download(); break; case "4": istrue = false; quit(); break; default: break; } } while (istrue); } // 查询 public static void query() { System.out.println("请输入要查询的userId"); String userId = input.next(); List<Skill> skillList = getSkillList(userId); if (!skillList.isEmpty()) { System.out.println("你要查询的信息已找到!"); System.out.println("|userId|shareId|skillLIst|"); for (Skill skill : skillList) { System.out.println("|" + skill.getUserId() + "|" + skill.getShareId() + "|" + skill.getSkillList() + "|"); } } else { System.out.println("你要查询的userId 无数据!"); } } // 下载 public static void download() { System.out.println("请输入要下载的userId"); String userId = input.next(); //查询数据 List<Skill> skillList = getSkillList(userId); if (!skillList.isEmpty()) { System.out.println("请设置文件名称,同名文件会覆盖哦"); //字段名列 List<Object> exportData = new ArrayList<Object>(); exportData.add("userId"); exportData.add("shareId"); exportData.add("skillList"); //数据列 List<List<Object>> datalist = new ArrayList<List<Object>>(); for (Skill skill : skillList) { List<Object> data=new ArrayList<Object>(); data.add(skill.getUserId()); data.add(skill.getShareId()); data.add(skill.getSkillList()); datalist.add(data); } String fileName = input.next(); String path = "/Users/lidoujiao/Desktop"; createCSVFile(exportData,datalist,path,fileName); System.out.println("OK!"); } else { System.out.println("你要查询的userId 无数据!"); } } // 删除 public static void del() { System.out.println("请输入删除的userId"); String userId = input.next(); //todo 根据用户ID查询list (count) if (true) { System.out.println("删除成功"); } else { System.out.println("你要查询的userId 无数据!"); } } // 退出 private static void quit() { System.out.println("拜拜~"); System.exit(0); } /** * 获取列表 * @param userId * @return */ private static List<Skill> getSkillList(String userId) { String sql = "select * from hwSkill where share_id = " + userId;//SQL语句 DBHelper db1 = new DBHelper(sql);//创建DBHelper对象 List<Skill> skillList = new ArrayList<>(); try { ResultSet ret = db1.pst.executeQuery();//执行语句,得到结果集 while (ret.next()) { Skill skill = new Skill(); skill.setUserId(ret.getString(1)); skill.setShareId(ret.getString(2)); skill.setSkillList(ret.getString(3)); skillList.add(skill); } ret.close(); db1.close();//关闭连接 } catch (SQLException e) { e.printStackTrace(); } return skillList; } /** * CSV文件生成方法 * @param head 文件头 * @param dataList 数据列表 * @param outPutPath 文件输出路径 * @param filename 文件名 * @return */ public static File createCSVFile(List<Object> head, List<List<Object>> dataList, String outPutPath, String filename) { File csvFile = null; BufferedWriter csvWtriter = null; try { csvFile = new File(outPutPath + File.separator + filename + ".csv"); File parent = csvFile.getParentFile(); if (parent != null && !parent.exists()) { parent.mkdirs(); } csvFile.createNewFile(); // GB2312使正确读取分隔符"," csvWtriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream( csvFile), "GB2312"), 1024); // 写入文件头部 writeRow(head, csvWtriter); // 写入文件内容 for (List<Object> row : dataList) { writeRow(row, csvWtriter); } csvWtriter.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { csvWtriter.close(); } catch (IOException e) { e.printStackTrace(); } } return csvFile; } /** * 写一行数据方法 * @param row * @param csvWriter * @throws IOException */ private static void writeRow(List<Object> row, BufferedWriter csvWriter) throws IOException { // 写入文件头部 for (Object data : row) { StringBuffer sb = new StringBuffer(); String rowStr = sb.append("\"").append(data).append("\",").toString(); csvWriter.write(rowStr); } csvWriter.newLine(); } static class Skill { String userId; String shareId; String skillList; public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getShareId() { return shareId; } public void setShareId(String shareId) { this.shareId = shareId; } public String getSkillList() { return skillList; } public void setSkillList(String skillList) { this.skillList = skillList; } } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章