dm

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class MyHead {
    //Main函数,程序入口
    public static void main(String[] args)
    {
        //调用读取方法,定义文件以及读取行数
        readLine(new File("C:\\test\\你的学号.txt"), 10);
    }
    public static List<String> readLine(File file, long numRead)
    {
        // 定义结果集
        List<String> result = new ArrayList<String>();
        //行数统计
        long count = 0;
        // 排除不可读状态
        if (!file.exists() || file.isDirectory() || !file.canRead())
        {
            return null;
        }
        // 使用随机读取
        RandomAccessFile fileRead = null;
        try
        {
            //使用读模式
            fileRead = new RandomAccessFile(file, "r");
            //读取文件长度
            long length = fileRead.length();
            //如果是0,代表是空文件,直接返回空结果
            if (length == 0L)
            {
                return result;
            }
            else
            {
                //初始化游标
                long pos= 0;
                while (count < numRead)
                {
                    //开始读取
                    fileRead.seek(pos);
                    //如果读取到\n代表是读取到一行
                    if (fileRead.readByte() == '\n')
                    {

                        //使用readLine获取当前行
                        String line = fileRead.readLine();
                        //保存结果
                        result.add(line);

                        //打印当前行
                        System.out.println(line);
                        //行数统计,如果到达了numRead指定的行数,就跳出循环
                        count++;

                    }
                    pos++;
                }
            }
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (fileRead != null)
            {
                try
                {
                    //关闭资源
                    fileRead.close();
                }
                catch (Exception e)
                {
                }
            }
        }

        return result;
    }
}

posted @ 2018-04-22 13:55  KY-high  阅读(151)  评论(0编辑  收藏  举报