skipNBytes() – пропуск N байтов при чтении из InputStream
15.08.2022
[skipNBytes() – пропуск N байтов при чтении из InputStream]
Интерфейс InputStream предназначен для чтения байтов из потока. Метод skipNBytes(), появившийся в Java 12, позволяет пропустить n байтов и продолжить чтение дальше.
Допустим, вы читаете через InputStream содержимое текстового файла:
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
public class SkipNBytes {
public static void main(String[] args) throws IOException {
InputStream is = ClassLoader.getSystemClassLoader().getResource("hello.txt").openStream();
ByteArrayOutputStream result = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) != -1) {
result.write(buffer, 0, length);
}
String fileContent = result.toString(StandardCharsets.UTF_8.name());
System.out.println(fileContent);
is.close();
}
}
[]
Hello Java World!
Вызывая последовательно один из перегруженных методов read(), мы можем прочитать всё содержимое файла, начиная с первого байта.
Если же перед началом чтения из файла вызвать метод skipNBytes(), мы начнём чтение из файла, минуя первые n байтов:
InputStream is = ... is.skipNBytes(6);
Если вам нужно пропустить известное количество первых N байт из InputStream, смело используйте метод skipNBytes().
skipNBytes() – пропуск N байтов при чтении из InputStream
Предыдущие
Как найти дубликаты в List
Новые