黑框交互工具-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; } } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章