java从尾读txt文件
时间: 2024-03-08 14:43:44 浏览: 19
要从尾部读取一个文本文件,可以使用Java中的RandomAccessFile类。以下是一个示例代码:
```java
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileFromEnd {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("file.txt", "r");
long fileLength = file.length();
StringBuilder sb = new StringBuilder();
// 从文件末尾开始读取
for (long pointer = fileLength - 1; pointer >= 0; pointer--) {
file.seek(pointer);
char c = (char) file.read();
if (c == '\n') {
// 遇到换行符则将读取到的内容反转并输出
System.out.println(sb.reverse().toString());
sb.setLength(0); // 清空StringBuilder
} else {
sb.append(c);
}
}
// 输出文件开头的一行(如果有)
if (sb.length() > 0) {
System.out.println(sb.reverse().toString());
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这段代码首先打开一个RandomAccessFile对象,然后获取文件的长度。接下来,从文件末尾开始逐个字符地读取,如果遇到换行符,则将读取到的内容反转并输出。最后,如果文件开头有一行内容,则将其输出。
注意:在使用这段代码时,请将"file.txt"替换为你要读取的实际文件路径。