В моей лямбде я пытаюсь проанализировать содержимое документа из корзины s3. Документ, который я обрабатываю, представляет собой текстовый файл размером более 100 МБ. Мне нужно разобрать только первую строку файла.
Каков наилучший рентабельный способ чтения файла?
В настоящее время я беру содержимое с помощью метода getObjectContent () и беру 1-ую строку из него, как показано ниже.
private AmazonS3 s3 = AmazonS3ClientBuilder.standard().build ();
GetObjectRequest getObjectRequest = new GetObjectRequest(bucket, key);
S3Object s3Object = s3.getObject(getObjectRequest);
BufferedReader reader = new BufferedReader(new InputStreamReader(s3Object.getObjectContent()));
String firstLine;
try {
while ((firstLine = reader.readLine()) != null) {
logger.log("META PROCESSOR | FIRST LINE OF FILE : " + firstLine);
break;
}
} catch (IOException e) {
logger.log("META PROCESSOR | FAILED TO LOAD FIRST LINE ");
return null;
}
Это хороший способ прочитать весь контент, просто прочитав первую строку? Есть ли какой-либо метод для чтения n строк из файла или n байтов из файла?