`
HJXia
  • 浏览: 86803 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java读取csv文件

    博客分类:
  • JAVA
阅读更多
首先在http://ostermiller.org/utils/download.html 上下载com.Ostermiller.util cvs的jar包.

有了这个jar包就可以写个工具类,专门控制csv文件的读取操作.
具体代码如下:
public class CsvFileParser{ 

    private LabeledCSVParser csvParser;//csvParser 

    private int currLineNum = -1;//The current line number for reading. 

    private String[] currLine = null;//The data of current line.
   

    /*
     *  Param: in InputStream 
     *  throws IOException
     */  

    public CsvFileParser(InputStream in) throws IOException {
        
            csvParser = new LabeledCSVParser(new ExcelCSVParser(in));
            currLineNum = csvParser.getLastLineNumber();
    }
    
    /*
     * 	Get the titles of csv file.
     * 
     *	return String[]
     */
    public String[] getTitles() throws IOException {
    	return csvParser.getLabels();
    }
              

    /*
     * Checkout whether it has more data.
     *
     * @return ture: has data,false nodata.
     */
    public boolean hasMore() throws IOException {
        currLine = csvParser.getLine();
        currLineNum = csvParser.getLastLineNumber();
        if (null == currLine)
            return false;
        return true;
    } 

    /*
     * Get the data of filed by field name.
     * param:String filedName
     * 
     * @return:String 
     */
    public String getByFieldName(String fieldName) {
               
        return csvParser.getValueByLabel(fieldName);
    } 

    /*
     * Close the parser.
     *
     * 
     */
    public void close() throws IOException {
        csvParser.close(); 

    } 

    /*
     * Read the current line.Return the data of current line.
     *
     * @return String[] 
     */
    public String[] readLine() throws IOException {
        currLine = csvParser.getLine(); 

        currLineNum = csvParser.getLastLineNumber(); 

        return currLine;
    } 
    
    /*
     * Get current line number.
     * 
     * @return int
     */
	public int getCurrLineNum(){ 
		return currLineNum; 
	
	}  
	
	/*
	 * Get the data of the current line.
	 * 
	 * @return String[]
	 */
	public String[] getCurrLine() {
		return currLine;
	}

} 


Ok,有其他需要可以看看那个jar包官网的doc.
分享到:
评论
1 楼 shawnfree 2011-01-12  
javacsv读取csv好吗?那个更好。

相关推荐

Global site tag (gtag.js) - Google Analytics