planet.io
Class NoReplacingOutputStream
java.lang.Object
java.io.OutputStream
planet.io.NoReplacingOutputStream
- All Implemented Interfaces:
- java.io.Closeable, java.io.Flushable
public class NoReplacingOutputStream
- extends java.io.OutputStream
This class abstracts an stream that is capable of no replace
the new saved status, according a specified boolean flag.
If the file must not be replaced, a new file is created with
a filename of type "filename_x", where "filename" is the
specified base filename, and "x" is an iterative version number.
That is, if "out" filename just exists, it attempts to create
a new file "out_1"; if this just exist, it attempts to create
a new file named "out_2"; ...
- Author:
- Jordi Pujol
Constructor Summary |
NoReplacingOutputStream(java.lang.String filename,
boolean replace)
Constructor that initialize this stream with the specified base
filename. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NoReplacingOutputStream
public NoReplacingOutputStream(java.lang.String filename,
boolean replace)
throws java.io.FileNotFoundException
- Constructor that initialize this stream with the specified base
filename. The replace flag shows if the file must
be replaced with new save status or not. If must not be replaced,
a suffix "_x" is added to the filename, where "x" is the number of
version.
- Parameters:
filename
- Base filename to save new status.replace
- Boolean flag that shows if the file must be replaced.
- Throws:
java.io.FileNotFoundException
- if the new desired file just exists.
write
public void write(int b)
throws java.io.IOException
- Specified by:
write
in class java.io.OutputStream
- Throws:
java.io.IOException
- See Also:
OutputStream.write(int)
close
public void close()
throws java.io.IOException
- Specified by:
close
in interface java.io.Closeable
- Overrides:
close
in class java.io.OutputStream
- Throws:
java.io.IOException
- See Also:
OutputStream.close()
flush
public void flush()
throws java.io.IOException
- Specified by:
flush
in interface java.io.Flushable
- Overrides:
flush
in class java.io.OutputStream
- Throws:
java.io.IOException
- See Also:
OutputStream.flush()
write
public void write(byte[] b,
int off,
int len)
throws java.io.IOException
- Overrides:
write
in class java.io.OutputStream
- Throws:
java.io.IOException
- See Also:
OutputStream.write(byte[], int, int)
write
public void write(byte[] b)
throws java.io.IOException
- Overrides:
write
in class java.io.OutputStream
- Throws:
java.io.IOException
- See Also:
OutputStream.write(byte[])