首页  ·  知识 ·  编程语言
java取出指定行数文本,包括从M行到N行
李晗的专栏  http://blog.csdn.net/lihan6415151528/archive/2009/  Java  编辑:dezai  图片来源:网络
测试txt路径:C:/testlog.txt,内容如下: 23:25:37 VirtualDisk - couldn't load BBArchive.dll - 12623:29:37 VirtualDisk -

测试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

 

测试代码:

view plaincopy to clipboardprint?
/* 
 * $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;  
 
/** 
 *

 
 * Title: Test 
 *

 
 *

 
 * Description: 
 *

 
 *

 
 * Copyright: Copyright (c) 2006 
 *

 
 *  
 * @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 listTxtByRow2(String path,Integer start,Integer end)  
    {  
        List list =new ArrayList();  
        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 list = t.listTxtByRow2("C:/testlog.txt", 2, 5);//取出2-5行数据  
        for(int i = 0;i        {  
            System.out.println(list.get(i));  
        }  
          
    }  

/*
 * $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;

/**
 *


 * Title: Test
 *


 *


 * Description:
 *


 *


 * Copyright: Copyright (c) 2006
 *


 *
 * @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 listTxtByRow2(String path,Integer start,Integer end)
 {
  List list =new ArrayList();
  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 list = t.listTxtByRow2("C:/testlog.txt", 2, 5);//取出2-5行数据
  for(int i = 0;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

本文作者:李晗的专栏 来源:http://blog.csdn.net/lihan6415151528/archive/2009/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读