Я знаю, что skip(long)
метод FileInputStream
пропускает байты из начальной позиции файла и помещает указатель файла. Но Если мы хотим пропустить только 20 символов в середине файла и оставшуюся часть файла для чтения, что мы должны делать?Метод Skip() в IO java?
ответ
Вы должны использовать BufferedReader
. Его метод skip
пропускает символы, а не байты.
Для перехода 20
символов из существующего FileInputStream
:
BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
// read what you want here
reader.skip(20);
// read the rest of the file after skipping
Waooo, interesting –
@QuanNguyen - как правило большого пальца, помните, что * Потоки работают над байтами, читатели/писатели работают над символами * – TheLostMind
Имейте в виду, что даже 'BufferedReader.skip()' может не обязательно делать именно то, что вы хотите, если у вас есть символы вне [BMP] (https://en.wikipedia.org/wiki/Plane_ (Unicode) #Basic_Multilingual_Plane). – Phylogenesis
счетчика означает сохранение.
Петля всех символов, увеличивающих счетчик для каждого считывания. Когда вы достигнете предела счетчика, соответствующего началу пропущенных символов, пропустите символы, которые вам нужно пропустить.
int counter = 0;
while (counter < START_SKIP) {
int x = input.read();
// Do something
}
input.skip(NUM_CHARS_TO_SKIP);
...
// Continue reading the remainings chars
При необходимости можно использовать BufferedReader
, чтобы улучшить выступления, как сказал Tunaki (или BufferedInputStream
в зависимости от типа файла, который вы читаете, если двоичный или текстовый файл).
- 1. Java OutputStream Skip (offset)
- 2. Java regex skip match
- 3. Java - Scanner comment skip
- 4. Java Skip Iteration 0
- 5. Преобразование Java IO класса в Android IO
- 6. Как работает метод skip() в InputStream?
- 7. Асинхронный IO в Java?
- 8. Java IO в Scala
- 9. my java program skip шаги
- 10. Java IO Thread Saftey
- 11. Java Runnable File IO
- 12. Ошибка передачи Java IO
- 13. Java Line IO vs C++ IO?
- 14. Метод Entity Framework Skip работает очень медленно
- 15. Java IO классы - проблемы с файлом IO
- 16. Обработка ввода-вывода Java IO
- 17. Обработка исключений IO в Java
- 18. Файл IO в задаче Java
- 19. Неблокирующее решение IO в Java
- 20. IO чтения (Java)
- 21. Файл модулей тестов IO java
- 22. Исключения файлов Java IO
- 23. File IO using java
- 24. Java IO, адрес
- 25. Файл Java IO Write
- 26. Java без gc - io
- 27. Java IO user.dir Затмение
- 28. Java IO Распознавание образов
- 29. JAVA IO: getAbsolutePath()
- 30. Java IO Производительность Выпуск
'skip' работает из текущего положения файла. Для использования текста читатель (InputStreamReader соединяет двоичные байты с java-текстом Unicode). Для буферизации используйте версию Buffered ~. –