求教: java读文件,指定行开始到文件的最后。

解决方案 »

  1.   

    给分吧. 多给点哦!  public static void main(String[] args) throws Exception
        {
           String str = Test.getString(0);
           System.out.println(str);
        }
        public static String getString(int index) throws Exception{
            BufferedReader br = new BufferedReader(new FileReader(new File("aa.txt")));
            StringBuffer sb = new StringBuffer();
            String temp = null;
            int count = 0;
            while((temp = br.readLine() ) != null){
                count ++;
                if(count >= index){
                    sb.append(temp + "\n");
                }
            }
            return sb.toString();
        }
      

  2.   


    jAVA里的readLine()只是读取某行的数据,没法实现跳过多少行????只能跳过多少字节
      

  3.   

    可以选用LineNumberReaderpublic String getLine(String fileName, int startLine) throws Exception{
    StringBuffer sf = new StringBuffer();
    LineNumberReader lnr = new LineNumberReader(new FileReader(fileName));
    String buff = lnr.readLine();
    while(buff!= null){
    if(lnr.getLineNumber()>= startLine){
    sf.append(buff);
    sf.append("\r\n");
    }
    buff = lnr.readLine();
    }
    return sf.toString(); 
    }
      

  4.   

    xuhesheng  : 谢谢你的解答。不过还是不是很清楚能不能具体展开一下。
    再有就是文件读完之后,文件行号重定位的问题。
    这个需求大致是这个样式的。 服务器上一个文件(增长着的),实时监控,每次读取最后100行,页面上整个类似弹出框的东西,显示这100行。然户呢,用户可以向前查看,点击这个按钮,向前查看。
      

  5.   


    为什么不行呢? 不懂你要做什么,  
    你要最后100行?  那你的知道总共多上行? Test.getString(totalRow - 100);   // 有什么问题吗?
      

  6.   

    对,将上面的方法吧 startLine = totalRow - 99 就可以了得到最新的100行