package com.javarush.test.level18.lesson08.task03;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/* AmigoOutputStream
1 Измените класс AmigoOutputStream так, чтобы он стал Wrapper-ом для класса FileOutputStream. Используйте наследование.
2 При вызове метода close() должны выполняться следующая последовательность действий:
2.1 вызвать метод flush()
2.2 дописать следующий текст [JavaRush © 2012-2013 All rights reserved.], используйте метод getBytes()
2.3 закрыть поток методом close()
*/
public class AmigoOutputStream extends FileOutputStream
{
public static String fileName = "C:/tmp/result.txt";
private FileOutputStream fileOutputStream;
public AmigoOutputStream (FileOutputStream fileOutputStream ) throws FileNotFoundException
{
super(fileName);
this.fileOutputStream = fileOutputStream;
}
@Override
public void flush() throws IOException
{
fileOutputStream.flush();
}
@Override
public void write(int b) throws IOException
{
fileOutputStream.write(b);
}
@Override
public void write(byte[] b) throws IOException
{
fileOutputStream.write(b);
}
@Override
public void write(byte[] b, int off, int len) throws IOException
{
fileOutputStream.write(b, off, len);
}
public void close() throws IOException
{
fileOutputStream.flush();
fileOutputStream.write("JavaRush © 2012-2013 All rights reserved.".getBytes());
fileOutputStream.close();
}
public static void main(String[] args) throws FileNotFoundException {
new AmigoOutputStream(new FileOutputStream(fileName));
}
}
Leave A Comment