随机访问流RandomAccessFile
读取文件最后一行
被读取的文件有换行 不然会报错
。
import java.io.IOException;
import java.io.RandomAccessFile;
public class RandomAccessFileDemo {
/**
* @author blue
* @date 2020年8月10日
*/
public static void main(String[] args) {
//读取指定文件为最后一行
try(RandomAccessFile raf=new RandomAccessFile("E:\\test\\test.txt", "r")) {
//文件长度
long pos=raf.length();
int len=-1;
boolean flag=true;
while(flag) {
//
pos--;
//移动指针
raf.seek(pos);
len=raf.read();
switch (len) {
case '\n':
case '\r':
case -1:
//说明最后一行读取完毕
//重新定位指针 指向最后一行开始的地方
raf.seek(pos+1);
flag=false;
break;
default:
break;
}
}
//此时 指针在最后一行的起始位置
//raf.readLine()
System.out.println(new String(raf.readLine().getBytes("ISO-8859-1"), "utf-8"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}