Я пытаюсь прочитать большой (700 ГБ) файл и постепенно обработать его, но сеть, в которой я работаю, иногда отключается, закрывая доступ к файлу.Это вызывает исключение java.io.IOException, сообщающее, что «указанное сетевое имя больше не доступно».Есть ли способ, которым я могу перехватить это исключение и подождать, скажем, пятнадцать минут, а затем повторить чтение, или объект Reader перезаписывается после потери доступа к файлу?
Если средство чтения отображаетсябесполезно, когда соединение потеряно, есть ли способ, которым я могу переписать это таким образом, чтобы я мог «сохранить свое место», а затем начать свое чтение оттуда без необходимости читать и отбрасывать все данные перед этим?Даже просто копируя данные без обработки, требуется 500 ГБ, чтобы их обработать.
В настоящее время код выглядит примерно так (отредактировано для краткости):
class Processor {
BufferedReader br;
Processor(String fname) {
br = new BufferedReader(new FileReader("fname"));
}
void process() {
try {
String line;
while((line=br.readLine)!=null) {
...code for processing the line goes here...
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
СпасибоВы за свое время.