Package org.mozilla.jss.util
Class Base64OutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- org.mozilla.jss.util.Base64OutputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
public class Base64OutputStream extends java.io.FilterOutputStream
An output stream filter that takes arbitrary bytes and outputs their base64 encoding. Call flush() or close() to write out the final padding. The class also automatically puts line breaks in the output stream.
-
-
Constructor Summary
Constructors Constructor Description Base64OutputStream(java.io.PrintStream out)
Create a stream that does not insert line breaks.Base64OutputStream(java.io.PrintStream out, int quadsPerLine)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
This flushes the stream and closes the next stream downstream.void
flush()
Calling this will put the ending padding on the base64 stream, so don't call it until you have no data left.void
write(byte[] buffer)
void
write(byte[] buffer, int offset, int count)
void
write(int oneByte)
-
-
-
Constructor Detail
-
Base64OutputStream
public Base64OutputStream(java.io.PrintStream out)
Create a stream that does not insert line breaks. To have line breaks, use the other constructor.
-
Base64OutputStream
public Base64OutputStream(java.io.PrintStream out, int quadsPerLine)
- Parameters:
quadsPerLine
- Number of 4-character blocks to write before outputting a line break. For example, for 76-characters per line, pass in 76/4 = 19.
-
-
Method Detail
-
write
public void write(int oneByte) throws java.io.IOException
- Overrides:
write
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
This flushes the stream and closes the next stream downstream.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
Calling this will put the ending padding on the base64 stream, so don't call it until you have no data left. The class does no unnecessary buffering, so you probably shouldn't call it at all.- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] buffer) throws java.io.IOException
- Overrides:
write
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] buffer, int offset, int count) throws java.io.IOException
- Overrides:
write
in classjava.io.FilterOutputStream
- Throws:
java.io.IOException
-
-