Java 一个字符一个字符地反向读取文件——从给定位置向后读取

Java 一个字符一个字符地反向读取文件——从给定位置向后读取,java,Java,我知道如何阅读单个字符,一次一个,向前: 但是如何从文件中的给定位置向后执行相同操作?您可以使用跳转到要读取下一个数据的位置。使用该方法从给定位置向后移动。这不是非常低效吗?有没有一种更有效的方法可以逐个字符向后读取文件?@JaySouper您不需要逐个读取字节,您可以执行更大的步骤并向前读取这些块。但这取决于您的实际使用情况和需求。我有一个10GB的文本输入文件,无法放入字符串或StringBuilder中…:@厄立特里亚人确实认为这是正确的方向。谢谢 import java.io.Buffe

我知道如何阅读单个字符,一次一个,向前:


但是如何从文件中的给定位置向后执行相同操作?

您可以使用跳转到要读取下一个数据的位置。使用该方法从给定位置向后移动。

这不是非常低效吗?有没有一种更有效的方法可以逐个字符向后读取文件?@JaySouper您不需要逐个读取字节,您可以执行更大的步骤并向前读取这些块。但这取决于您的实际使用情况和需求。我有一个10GB的文本输入文件,无法放入字符串或StringBuilder中…:@厄立特里亚人确实认为这是正确的方向。谢谢
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class Main {
    public static void main(String... args) {
        try (FileReader filereader = new FileReader("tempfile.txt")) {
            try (BufferedReader reader = new BufferedReader(filereader )) {
                 int c = reader.read();
                 if (c > 32) {
                   // do something here
                 }
            } catch (IOException e) {
                 e.printStackTrace();
            }
        } catch (FileNotFoundException e) {
           e.printStackTrace();
        } catch (IOException e) {
           e.printStackTrace();
        }
   }
}