这是TXT文本的数据,我想取最后一行数据,该如何取呢?大家帮帮忙哈!
4340620940002013|25.00|04990007d1a6|7da41eba86ae|2467517
22001450100059990063|25.00|049900078335|0d5fbdfef99f|2467519
4340620940002013|25.00|04990007d1a6|550c4da7ab07|2467521
22001450100059990063|25.00|049900078335|614d7cb6a934|2467523
4340620940002013|25.00|04990007d1a6|c52cac1a1a30|2467525

解决方案 »

  1.   

    java.lang.Object
      java.util.Scanner
    判断是否有next..
    boolean hasNext() 
              如果此扫描器的输入中有另一个标记,则返回 true。 
      

  2.   

    不好意思..copy错了..boolean hasNextLine() 
              如果在此扫描器的输入中存在另一行,则返回 true。 
      

  3.   

    import java.io.*;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    public class Test3 { public static void main(String[] args) {

    try {
    BufferedReader br = new BufferedReader(new FileReader("E:\\源代码\\ok.txt"));
    String line = "";
    while((line = br.readLine()) != null){
    parse(line);
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    } private static void parse(String line) {
    Pattern p = Pattern.compile(".+\\|.+\\..+\\|.+\\|.+\\|2467525");
    Matcher m = p.matcher(line);
    while(m.find()){
    System.out.println(m.group());
    }
    //System.out.println(m.find());
    }
    //4340620940002013|25.00|04990007d1a6|c52cac1a1a30|2467525
    }
      

  4.   


    Scanner sc=new Scanner(new FileReader("D:\\text.txt"));
    String line=null;
    while((sc.hasNextLine()&&(line=sc.nextLine())!=null)){
    if(!sc.hasNextLine())
    System.out.println(line);
    }
      

  5.   


    FileReader input = new FileReader("D:\\test.txt");
    BufferedReader br = new BufferedReader(input);

        String theline =null;
        
    String s = br.readLine();

    while (s!=null) {
     theline =s;
    s=br.readLine();

    }
    System.out.println(theline);
      

  6.   

    思路:
    1、预算单行的最大长度,比如100个字节
    2、取文件的长度,比如5000个字节
    3、用RandomAccessFile,读最后的100个字节,即偏移量5000-100
    4、从这100个字节,从后往前找换行符
      

  7.   

    FileReader reader = new FileReader(filename);
    BufferedReader br = new BufferedReader(reader);
    int lineNumber=0;
    String lastNumberValue="";
    while ((s = br.readLine()) != null) {
      lineNumber=lineNumber+1;
    }
    FileReader reader1 = new FileReader(filename);
    BufferedReader br1 = new BufferedReader(reader1);
    int i=1;
    while ((s = br.readLine()) != null&&i<lineNumber) {
      lastNumberValue=s;
    }
    return lastNumberValue;