- 軟件大小:14KB
- 軟件語(yǔ)言:中文
- 軟件類型:國(guó)產(chǎn)軟件
- 軟件類別:免費(fèi)軟件 / 編程工具
- 更新時(shí)間:2018-08-27 09:13
- 運(yùn)行環(huán)境:WinAll, WinXP
- 軟件等級(jí):
- 軟件廠商:
- 官方網(wǎng)站:http://www.portlandswalk.com/
1.64M/中文/10.0
541KB/英文/10.0
4.79M/英文/10.0
2.29M/多國(guó)語(yǔ)言[中文]/8.8
284KB/中文/10.0
javacsv jar是一款非常好用的csv編輯軟件,能處理特殊字符和換行符的問(wèn)題,自己寫的話很容易在特殊字符和換行符上出問(wèn)題,建議用高人寫的jar包,需要的朋友歡迎來(lái)綠色資源網(wǎng)下載。
所謂csv,是Comma Separated Value(逗號(hào)分隔值)的英文縮寫,通常都是純文本文件。 我們使用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),支持從任何地方以任何編碼讀寫數(shù)據(jù),只要提供相應(yīng)的Reader與Writer對(duì)象??膳渲梅指罘崭?符號(hào)和行結(jié)束符等。
jdk1.6
SuperCSV-1.52.jar
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();
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容