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();
}
}
}