CSV操作(匯出和匯入)【工具包系列】
CSV的匯入匯出經常用在資料庫方面,比如在專案運作中,第三方的提供部分資料但是又不肯開放介面給呼叫者,他們只提供數
據庫片段資料然後以CSV的格式提供給使用者,所以這個時候就是用到CSV匯入匯出的功能了,再提一下CSV的匯入和匯出功能
和TXT的匯入匯出功能非常相似,下一篇將介紹TXT的匯入匯出。那我們就直接來看程式碼吧,沒什麼難點,注意好流的關閉和異
常處理就好。
package com.lwl.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.List; /** * CSV操作(匯出和匯入) * @author
[email protected] * @create 2016-4-27 上午9:47:27 * @version 1.0 */ public class CSVUtils { /** * 匯出 * @param file csv檔案(路徑+檔名),csv檔案不存在會自動建立 * @param dataList 資料 * @param heads 表頭 * @return * @author [email protected] * @create 2016-4-27 上午9:49:49 */ public static boolean exportCsv(File file, List<String> dataList,String heads){ FileOutputStream out=null; try { out = new FileOutputStream(file); return exportCsvByOS(out, dataList, heads); } catch (FileNotFoundException e) { e.printStackTrace(); return false; } } /** * 匯出 * @param out 輸出流 * @param dataList 資料 * @param heads 表頭 * @return * @author[email protected] * @create 2016-4-27 上午9:49:49 */ public static boolean exportCsvByOS(OutputStream out, List<String> dataList,String heads){ boolean isSucess=false; OutputStreamWriter osw=null; BufferedWriter bw=null; try { osw = new OutputStreamWriter(out); bw =new BufferedWriter(osw); //迴圈表頭 if(heads!=null&&!heads.equals("")){ bw.append(heads).append("\r"); } //迴圈資料 if(dataList!=null && !dataList.isEmpty()){ for(String data : dataList){ bw.append(data).append("\r"); } } isSucess=true; } catch (Exception e) { e.printStackTrace(); isSucess=false; }finally{ if(bw!=null){ try { bw.close(); bw=null; } catch (IOException e) { e.printStackTrace(); } } if(osw!=null){ try { osw.close(); osw=null; } catch (IOException e) { e.printStackTrace(); } } if(out!=null){ try { out.close(); out=null; } catch (IOException e) { e.printStackTrace(); } } } return isSucess; } /** * 匯入 * * @param file csv檔案(路徑+檔案) * @return */ public static List<String> importCsv(File file){ List<String> dataList=new ArrayList<String>(); BufferedReader br=null; try { br = new BufferedReader(new FileReader(file)); String line = ""; while ((line = br.readLine()) != null) { dataList.add(line); } }catch (Exception e) { }finally{ if(br!=null){ try { br.close(); br=null; } catch (IOException e) { e.printStackTrace(); } } } return dataList; } /** * 測試 * @param args * @author[email protected] * @create 2016-4-27 上午10:11:46 */ public static void main(String[] args) { //匯出資料測試 // List<String> dataList=new ArrayList<String>(); // dataList.add("1,張三,男"); // dataList.add("2,李四,男"); // dataList.add("3,小紅,女"); // File file = new File("E:/test"); // if(!file.exists()){ // file.mkdir(); // } // boolean isSuccess=CSVUtils.exportCsv(new File("E:/test/ljq.csv"), dataList,"編碼,姓名,性別"); // System.out.println(isSuccess); //匯入資料測試 List<String> dataList= CSVUtils.importCsv(new File("E:/test/ljq.csv")); for (String string : dataList) { System.out.println(string); } } }
程式碼很簡單,而且已經給出測試用例,直接貼近專案即可使用。
相關推薦
CSV操作(匯出和匯入)【工具包系列】
CSV的匯入匯出經常用在資料庫方面,比如在專案運作中,第三方的提供部分資料但是又不肯開放介面給呼叫者,他們只提供數 據庫片段資料然後以CSV的格式提供給使用者,所以這個時候就是用到CSV匯入匯出的功能了,再提一下CSV的匯入和匯出功能 和TXT的匯入匯出功能非常相似,下一
tomcat宕機自動重啟和每日定時啟動tomcat【工具包系列】
在專案後期維護中會遇到這樣的情況,tomcat在記憶體溢位的時候就出現宕機的情況和遇到長時間不響應,需要人工手動關閉和重啟服務,針對這樣的突發情況,希望程式能自動處理問題而不需要人工關於,所以才有了目前的需求。 一、設定tomcat定時啟動 1,首先將tomcat註
java伺服器端解決跨域問題【工具包系列】
現在很多開發的API都支援ajax直接請求,這樣就會導致跨域的問題,解決跨域的問題一方面可以從前端,另一方面就是伺服器端。 既然是搞伺服器端,做對外的API服務,當然是做到越簡單越好,前端只需要傻傻的使用就好。 目前我接觸來的情況是有2種實現方
java傳送http請求獲取響應結果【工具包系列】
import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.NameValuePair; import org.apache.log4j.Logger;
【工具使用系列】Tensorflow FAQs,你需要知道的事
問題: Python3.5(64bit)環境下安裝Tensorflow時,提示: ImportError: DLL load failed: 找不到指定的模組 或 ImportError: No module named ‘_pywrap_tensorfl
mong db 批量匯出和匯入json檔案的實際操作記錄,匯出和匯入一張表
需求是這樣的:需要修改資料庫中某個表的所有資料,所以,要全部匯出,然後修改,修改完之後,再把修改後的資料給再匯入到mongo去。 具體如下: 備份,匯出一張表為json檔案 具體命令: mo
通過pip命令匯出和匯入Python環境安裝包
匯出Python環境安裝包 pip freeze > packages.txt 這將會建立一個 packages.txt檔案,其中包含了當前環境中所有包及各自的版本的簡單列表(即pip list 所列出的包列表) 安裝匯入Python環境包 pip install -
C++對MySQL資料庫進行匯出和匯入操作
相信大家應該在網上看到很多利用SQL語句對MySQL資料庫的表或者資料庫本身進行匯出和匯入操作。在window環境下利用dos命令列匯出資料庫(我的mysq直接裝在c盤根目錄下下,其bin目錄為:c:/mysql/bin): 1、執行MySQL資料庫匯出操作: c:\my
IDEA 匯出和匯入jar包教程
1.新建一個包: 取個包名,注意:包名應當避免取一些關鍵字,如:“java”,會出錯,一定要避免,建議可以加下劃線之類的字元。 2.新建一個java類: 取一個類名,注意類的命名規範,這裡不再贅述: 輸入java程式碼: 注意訪問許可權修飾符的使
[PHP] PHP操作Excel匯出和匯入,使用PHPExcel第三方類操作
下載的官方文件,如上圖。對於專案真正有用的事Classes資料夾,將Classes更名為PHPExcel放到自己專案類庫中,以下是Thinkphp框架下的類庫存放目錄。 2. 下面匯出的使用與實踐 //將資料匯出到Excel表
【抓包分析】Charles和 夜神模擬器 對安卓應用進行抓包分析
技術分享 windows red 工具 com nsh pro 4.2 name 準備工具 : 1 Charles : https://www.charlesproxy.com (收費) 2 夜神模擬器 : https://www.yeshen.com (免費)
使用empdp和impdp匯出和匯入資料庫的表
資料泵技術比原來匯入/匯出(imp,exp)技術快15-45倍。速度的提高源於使用了並行技術來讀寫匯出轉儲檔案。此命令只可用在服務端,客戶端無法使用。 1.開啟SQL plus 首先需要輸入使用者名稱和密碼進行登入; 建立一個directory物件:create directory dp
不同版本zabbix server上的模板匯出和匯入(2.2.2與2.4.7)
環境: 一臺zabbix server是2.4.7 一臺zabbix server是2.2.2 需求: zabbix2.2.2需要新增tcp連線監控,zabbix2.4.7伺服器上有這個模板;
Docker 映象匯出和匯入
檢視映象: #檢視映象 docker images 匯出映象: # 映象匯出 docker save -o your_image_file.tar [image_id] 匯入映象: #映象匯入 docker load < your_image_file.t
memcached的命令列、匯出和匯入、php連線、memcached中儲存sessions
1.memcached的命令列 telnet 127.0.0.1 11211set key2 0 30 2abSTOREDget key2VALUE key2 0 2abENDMemcached語法規則:<command name> <key> <flags> <e
[轉]mysql如何利用Navicat 匯出和匯入資料庫
MySql是我們經常用到的資料,無論是開發人員用來練習,還是小型私服遊戲伺服器,或者是個人軟體使用,都十分方便。對於做一些個人輔助軟體,選擇mysql資料庫是個明智的選擇,有一個好的工具更是事半功倍,對於MySql 的IDE 我推薦Navicat for MySql,現在我就向大家介紹如何利用Navicat
易學筆記-第3章 映象/3.6 匯出和匯入映象
匯出和匯入映象 匯出映象:匯出映象到本地檔案 docker save命令 [[email protected] ~]# docker save -o ubuntu_latest.tar.gz docker.io/ubuntu ubuntu_lat
springboot+poi匯出和匯入
1.匯入座標 <!-- excel2003使用的包 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId&
MySQL 使用 Navicat 匯出和匯入資料庫
MySQL使用Navicat匯出和匯入資料庫 在日常開發過程中,經常需要將資料庫進行備份,或者匯入匯出操作。這對於MySQL資料庫來說,用Navicat可以很輕鬆的解決。接下來,我就來演示一下Navicat如何匯出和匯入MySQL資料庫 1. 匯出資料庫 在你要匯
21.6 memcached資料匯出和匯入
1. 匯出memcached的資料:[[email protected] ~]# memcached-tool 127.0.0.1:11211 dump 2. 匯出memcached的資料,重定向到指定檔案data.txt內:[[email prot