Поток закрыт и не открыт - Java
У меня есть простая «домашняя работа», но я обнаружил небольшую проблему с закрытием входного потока. Проще говоря, я должен создать приложение для создания списка контактов в Java, чтобы правильно использовать полиморфизм. Итак, у меня есть класс Contact и подкласс Private (контакт). В обоих классах есть метод модификации для изменения значения переменных.
public void modify() throws IOException {
System.out.println("Previously name: " + name);
System.out.println("Insert new name");
try(InputStreamReader ir = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(ir) ) {
name= in.readLine();
System.out.println("You've changed the name to: "+ name);
System.out.println("Previously surname: " + surname);
System.out.println("Insert new surname");
surname= in.readLine();
System.out.println("You've changed the surname to: "+ surname);
System.out.println("Previously e-mail: " + email);
System.out.println("Insert new e-mail");
email = in.readLine();
System.out.println("You've changed the e-mail to: "+ email); }
}
Это метод Contact, который не создает проблемы
@Override
public void modify() throws IOException {
super.modifica();
System.out.println("Numero di cellulare precedente: " + cell);
System.out.println("Inserire nuovo numero");
try (InputStreamReader ir = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(ir)) {
cell = in.readLine();
System.out.println("Hai cambiato il numero in: "+ cell);
System.out.println("Contatto skype precedente: " + skype);
System.out.println("Inserire nuovo contatto");
skype = in.readLine();
System.out.println("Hai cambiato il contatto in: "+ skype);
}
}
Вместо этого это переопределение метода в Private. В основном я создаю объект Private и вызываю метод modify. Я могу без проблем вставить имя, фамилию и адрес электронной почты, затем метод выдает исключение ввода-вывода, потому что поток закрыт. Я не могу понять, почему у меня такая проблема. Я думаю, что поток закрыт попыткой с ресурсами в первом коде, но затем он открывается во втором коде другой попыткой с ресурсами. Возможно, что-то в моей идее не так.