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

csv文件解析工具

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

本類精品

軟件介紹

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

csv是什么

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

/**
* 當(dāng)前行號(hào),從1開(kāi)始
* @return int
*/
public int getLineNumber(){
return reader.getLineNumber() - 1;
}

}

3. 測(cè)試代碼

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();

軟件標(biāo)簽: csv

其他版本下載

發(fā)表評(píng)論

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

TOP
軟件下載