«Java.io.IOException: поток закрыт» с новым BufferedReader

Многие люди задавали такой вопрос, но этот немного другой. Вот код:

public static BufferedReader reader;    
public static String readString() throws IOException {
            reader = new BufferedReader(new InputStreamReader(System.in));
            String s = reader.readLine();
            reader.close();
            return s;
        }

Во время выполнения программыreadString метод вызывается много раз. Второй вызов вызываетexception: stream closed, Я не могу понять: почему это так заканчивается? Каждый раз, когда мы объявляем новыйBufferedReader, Итакstream должен быть также новым. Или нет?

Если нет, то как мне организовать свою программу так, чтобы она закрывала читателя после всех вызовов и после завершения моей программы?

Ответы на вопрос(1)

Ваш ответ на вопрос