Package org.eclipse.birt.core.archive
Class RAFolderOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.eclipse.birt.core.archive.RAOutputStream
-
- org.eclipse.birt.core.archive.RAFolderOutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
public class RAFolderOutputStream extends RAOutputStream
RAOutputStream implementation for folder based report archive
-
-
Constructor Summary
Constructors Constructor Description RAFolderOutputStream(java.util.Collection<RAFolderOutputStream> manager, java.io.File file)
RAFolderOutputStream(java.util.Collection<RAFolderOutputStream> manager, java.io.File file, boolean append)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close the stream.void
flush()
Flush the stream.java.lang.String
getName()
long
getOffset()
long
length()
void
seek(long localPos)
Same behavior as the seek in RandomAccessFile.void
write(byte[] b)
Writesb.length
bytes from the specified byte array to this output stream.void
write(byte[] b, int off, int len)
Writeslen
bytes from the specified byte array starting at offsetoff
to this output stream.void
write(int b)
The same behavior as OutputStream.write().void
writeInt(int v)
Same behavior as DataOutputStream.writeInt();void
writeLong(long v)
Same behavior as DataOutputStream.writeLong();
-
-
-
Constructor Detail
-
RAFolderOutputStream
public RAFolderOutputStream(java.util.Collection<RAFolderOutputStream> manager, java.io.File file) throws java.io.FileNotFoundException, java.io.IOException
- Throws:
java.io.FileNotFoundException
java.io.IOException
-
RAFolderOutputStream
public RAFolderOutputStream(java.util.Collection<RAFolderOutputStream> manager, java.io.File file, boolean append) throws java.io.FileNotFoundException, java.io.IOException
- Throws:
java.io.FileNotFoundException
java.io.IOException
-
-
Method Detail
-
getName
public java.lang.String getName()
-
write
public void write(int b) throws java.io.IOException
The same behavior as OutputStream.write().
Writes the specified byte to this output stream. The general contract forwrite
is that one byte is written to the output stream. The byte to be written is the eight low-order bits of the argumentb
. The 24 high-order bits ofb
are ignored.Subclasses of
OutputStream
must provide an implementation for this method.- Specified by:
write
in classjava.io.OutputStream
- Parameters:
b
- thebyte
.- Throws:
java.io.IOException
- if an I/O error occurs. In particular, anIOException
may be thrown if the output stream has been closed.
-
write
public void write(byte[] b) throws java.io.IOException
Writesb.length
bytes from the specified byte array to this output stream. The general contract forwrite(b)
is that it should have exactly the same effect as the callwrite(b, 0, b.length)
.- Overrides:
write
in classjava.io.OutputStream
- Parameters:
b
- the data.- Throws:
java.io.IOException
- if an I/O error occurs.- See Also:
OutputStream.write(byte[], int, int)
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException
Writeslen
bytes from the specified byte array starting at offsetoff
to this output stream. The general contract forwrite(b, off, len)
is that some of the bytes in the arrayb
are written to the output stream in order; elementb[off]
is the first byte written andb[off+len-1]
is the last byte written by this operation.- Overrides:
write
in classjava.io.OutputStream
- Parameters:
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.- Throws:
java.io.IOException
- if an I/O error occurs.
-
writeInt
public void writeInt(int v) throws java.io.IOException
Same behavior as DataOutputStream.writeInt();- Specified by:
writeInt
in classRAOutputStream
- Throws:
java.io.IOException
-
writeLong
public void writeLong(long v) throws java.io.IOException
Same behavior as DataOutputStream.writeLong();- Specified by:
writeLong
in classRAOutputStream
- Throws:
java.io.IOException
-
getOffset
public long getOffset() throws java.io.IOException
- Specified by:
getOffset
in classRAOutputStream
- Throws:
java.io.IOException
-
seek
public void seek(long localPos) throws java.io.IOException
Same behavior as the seek in RandomAccessFile.
Sets the file-pointer offset, measured from the beginning of this file, at which the next read or write occurs. The offset may be set beyond the end of the file. Setting the offset beyond the end of the file does not change the file length. The file length will change only by writing after the offset has been set beyond the end of the file.- Specified by:
seek
in classRAOutputStream
- Parameters:
localPos
- - the new local postion in the stream, measured in bytes from the beginning of the stream- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
Flush the stream.- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
Close the stream. If the stream is the only one in the underlying file, the file will be close too.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
length
public long length() throws java.io.IOException
- Specified by:
length
in classRAOutputStream
- Throws:
java.io.IOException
-
-