Если ракоментировать закрывание потока, вылетает с нуллпоинтером, а так всё правильно работает. Где собака порылась?
package com.javarush.task.task18.task1812;
import java.io.*;
/*
Расширяем AmigoOutputStream
*/
public class QuestionFileOutputStream implements AmigoOutputStream {
private AmigoOutputStream amigoOutputStream;
public void QuestionFileOutputStream(AmigoOutputStream amigoOutputStream){
this.amigoOutputStream = amigoOutputStream;
}
@Override
public void flush() throws IOException {
amigoOutputStream.flush();
}
@Override
public void write(int b) throws IOException {
amigoOutputStream.write(b);
}
@Override
public void write(byte[] b) throws IOException {
amigoOutputStream.write(b);
}
@Override
public void write(byte[] b, int off, int len) throws IOException {
amigoOutputStream.write(b, off, len);
}
@Override
public void close() throws IOException {
System.out.println("Вы действительно хотите закрыть поток? Д/Н");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String letter = reader.readLine();
if(letter.equals("Д")){
System.out.println("Da");
// amigoOutputStream.close();
reader.close();
}
else {
System.out.println("nea");
}
}
public static void main(String[] args) throws IOException{
QuestionFileOutputStream questionFileOutputStream = new QuestionFileOutputStream();
questionFileOutputStream.close();
}
}