1. 程式人生 > >CSV操作(匯出和匯入)【工具包系列】

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 (免費)

使用empdpimpdp匯出匯入資料庫的表

資料泵技術比原來匯入/匯出(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