Java读取CSV文件指定行的值

来源:互联网 发布:bug单网络用语什么意思 编辑:程序博客网 时间:2024/06/04 18:20

测试txt路径:C:/testlog.txt,内容如下:
23:25:37 VirtualDisk - couldn't load BBArchive.dll - 126
23:29:37 VirtualDisk - couldn't load BBArchive.dll - 126
22:29:12 VirtualDisk - couldn't load BBArchive.dll - 126
22:35:17 VirtualDisk - couldn't load BBArchive.dll - 126
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
lllllllllllllllllllllllllllllllllllllllll
iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

 测试代码:

/* 
 * $RCSfile: Test.java,v $ 
 * $Revision: 1.1  $ 
 * $Date: 2009-2-20  $ 
 * 
 * Copyright (C) 2005 Bettem, Inc. All rights reserved. 
 * 
 * This software is the proprietary information of Bettem, Inc. 
 * Use is subject to license terms. 
 */ 
 
package servlet;  
 
import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.io.UnsupportedEncodingException;  
import java.util.ArrayList;  
import java.util.List;  
 
/** 
 * <p> 
 * Title: Test 
 * </p> 
 * <p> 
 * Description: 
 * </p> 
 * <p> 
 * Copyright: Copyright (c) 2006 
 * </p> 
 *  
 * @author 李晗 
 * @version 1.0 
 */ 
 
public class Test {  
 
    /** 
     * @param args 
     */ 
      
    /** 
     * 读取txt内容到数组 
     */ 
    public static String[] getTxtContent(String path)  
    {  
        File f = null;  
        String[] a = null;  
          
        try {  
            a = new String[100000];  
              
            f=new File(path);  
              
            InputStreamReader read = new InputStreamReader(new FileInputStream(f), "GBK");  
              
            BufferedReader reader = new BufferedReader(read);  
              
            String line;  
            int i;  
              
            for (i = 0; i < 100000; i++)   
            {  
                if ((line = reader.readLine()) != null)  
                {  
                    a[i] = line;  
                }  
            }  
        } catch (UnsupportedEncodingException e) {  
            e.printStackTrace();  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        return a;  
    }  
      
    /** 
     * 读取指定一行内容 
     * @param path 
     * @param row 
     * @return 
     */ 
    public String listTxtByRow1(String path,Integer row)  
    {  
        String[] s = getTxtContent(path);  
        return "第"+row+"行:"+s[row-1];
    }  
      
    public List<String> listTxtByRow2(String path,Integer start,Integer end)  
    {  
        List<String> list =new ArrayList<String>();  
        String[] s = getTxtContent(path);  
          
        for(int i = start;i <= end;i++)  
        {  
            list.add(s[i-1]);  
        }  
          
        return list;  
    }  
      
    public static void main(String[] args) {  
 
        Test t = new Test();  
        System.out.println(t.listTxtByRow1("C:/testlog.txt",6));//取出第6行数据  
        System.out.println("==================取出指定行数=====================");  
        List<String> list = t.listTxtByRow2("C:/testlog.txt", 2, 5);//取出2-5行数据  
        for(int i = 0;i<list.size();i++)  
        {  
            System.out.println(list.get(i));  
        }             
    }   } 

运行情况:

第6行:wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
==================取出指定行数=====================
23:29:37 VirtualDisk - couldn't load BBArchive.dll - 126
22:29:12 VirtualDisk - couldn't load BBArchive.dll - 126
22:35:17 VirtualDisk - couldn't load BBArchive.dll - 126
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq

原创粉丝点击