- 軟件大?。?span>14KB
- 軟件語言:中文
- 軟件類型:國產(chǎn)軟件
- 軟件類別:免費(fèi)軟件 / 編程工具
- 更新時間:2018-08-27 09:13
- 運(yùn)行環(huán)境:WinAll, WinXP
- 軟件等級:
- 軟件廠商:
- 官方網(wǎng)站:http://www.siawh.com/
1.64M/中文/10.0
541KB/英文/10.0
4.79M/英文/10.0
2.29M/多國語言[中文]/8.8
284KB/中文/10.0
javacsv jar是一款非常好用的csv編輯軟件,能處理特殊字符和換行符的問題,自己寫的話很容易在特殊字符和換行符上出問題,建議用高人寫的jar包,需要的朋友歡迎來綠色資源網(wǎng)下載。
所謂csv,是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。 我們使用SuperCSV來解析CSV文件, Super CSV是一個用于處理CSV文件的Java開源項(xiàng)目。它完全圍繞面向?qū)ο蟮乃枷脒M(jìn)行設(shè)計(jì),因此可以利用你的面向?qū)ο蟠a來使得處理CSV文件變得更加簡 易。它支持輸入/輸出類型轉(zhuǎn)換、數(shù)據(jù)完整性校驗(yàn),支持從任何地方以任何編碼讀寫數(shù)據(jù),只要提供相應(yīng)的Reader與Writer對象??膳渲梅指罘?,空格 符號和行結(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)前行號,從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();
請描述您所遇到的錯誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請輸入內(nèi)容