随機通路流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();
}
}
}