Задать вопрос
@go2goj

Почему skip у new FileInputStream(FileDescriptor.in) не работает?

Почему skip у new FileInputStream(FileDescriptor.in) не работает? Хотя с System.in skip в аналогичном коде срабатывает...

import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.IOException;

public class Soltuion {

	public static void main(String[] args) throws IOException {
		FileInputStream keyboardStream = new FileInputStream(FileDescriptor.in);
		System.out.print(keyboardStream.read() + " ");
		keyboardStream.skip(100);  // любой аргумент напиши - не сработает 
		System.out.print(keyboardStream.read() + " ");
		System.out.print(keyboardStream.read() + " ");

		// Ввод: 8
		// Вывод: 56 13 10 (всё считал, а не только 56 c ожиданием нового ввода)
	}
}
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Академия Eduson
    Java-разработчик
    8 месяцев
    Далее
Решения вопроса 1
@gansm
Так как FileInputStream перекрывает skip из InputStream и вызывает нативный skip. Оберни в BufferedInputStream
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы