@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 ожиданием нового ввода)
	}
}
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
@gansm
Так как FileInputStream перекрывает skip из InputStream и вызывает нативный skip. Оберни в BufferedInputStream
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы