西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

csv文件解析工具

  • csv文件解析工具
  • 軟件大小:13KB
  • 更新時間:2013-07-11 13:54
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國產(chǎn)軟件 / 免費軟件 / 編程控件
  • 軟件等級:4級
  • 應用平臺:WinAll, WinXP
  • 官方網(wǎng)站:暫無
  • 應用備案:
好評:50%
壞評:50%

本類精品

軟件介紹

這個包非常好,能處理特殊字符和換行符的問題,自己寫的話很容易在特殊字符和換行符上出問題,建議用高人寫的jar包。

csv是什么

所謂“CSV”,是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。 我們使用SuperCSV來解析CSV文件, Super CSV是一個用于處理CSV文件的Java開源項目。它完全圍繞面向?qū)ο蟮乃枷脒M行設計,因此可以利用你的面向?qū)ο蟠a來使得處理CSV文件變得更加簡 易。它支持輸入/輸出類型轉(zhuǎn)換、數(shù)據(jù)完整性校驗,支持從任何地方以任何編碼讀寫數(shù)據(jù),只要提供相應的Reader與Writer對象。可配置分割符,空格 符號和行結(jié)束符等。

1. 環(huán)境


jdk1.6
SuperCSV-1.52.jar

2. 代碼

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;

import org.apache.log4j.Logger;
import org.supercsv.io.CsvListReader;
import org.supercsv.prefs.CsvPreference;

public class CsvParser implements Iterator<List<String>>{

private static final Logger logger = Logger.getLogger(CsvParser.class);

private CsvListReader reader = null;
private List<String> row = null;

public CsvParser(String csvFile, String encoding) {
super();
try {
reader = new CsvListReader(new InputStreamReader(new FileInputStream(csvFile), encoding), CsvPreference.EXCEL_PREFERENCE);
} catch (UnsupportedEncodingException e) {
logger.error(e.getMessage(), e);
} catch (FileNotFoundException e) {
logger.error(e.getMessage(), e);
}
}

public boolean hasNext(){
try {
if(reader.getLineNumber() == 0){//
row = reader.read();
}
row = reader.read();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
return row != null;
}

public List<String> next(){
return row;
}

public void remove(){
throw new UnsupportedOperationException("本CSV解析器是只讀的.");
}

public void close(){
if(reader != null){
try {
reader.close();
} catch (IOException e) {
logger.error(e.getMessage(), e);
}
}
}

/**
* 當前行號,從1開始
* @return int
*/
public int getLineNumber(){
return reader.getLineNumber() - 1;
}

}

3. 測試代碼

String file = "D:\\test.csv";

CsvParser p = new CsvParser(file, "GBK");
while(p.hasNext()){
List<String> row = p.next();
System.out.println(p.getLineNumber() + " : " + row.get(0) + ", " + row.get(1));
}
p.close();

軟件標簽: csv

軟件截圖

csv文件解析工具

其他版本下載

發(fā)表評論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評論 > 字數(shù): 0/500

TOP
軟件下載