Base64OutputStream類的源碼
public class Base64OutputStream extends BaseNCodecOutputStream {
public Base64OutputStream(OutputStream out) {
this(out, true);
}
public Base64OutputStream(OutputStream out, boolean doEncode) {
super(out, new Base64(false), doEncode);
}
/**
* Creates a Base64OutputStream such that all data written is either Base64-encoded or Base64-decoded to the
* original provided OutputStream.
*
* @param out
* OutputStream to wrap.
* @param doEncode
* true if we should encode all data written to us, false if we should decode.
* @param lineLength
* If doEncode is true, each line of encoded data will contain lineLength characters (rounded down to
* nearest multiple of 4). If lineLength <=0, the encoded data is not divided into lines. If doEncode is
* false, lineLength is ignored.
* @param lineSeparator
* If doEncode is true, each line of encoded data will be terminated with this byte sequence (e.g. \r\n).
* If lineLength <= 0, the lineSeparator is not used. If doEncode is false lineSeparator is ignored.
*/
public Base64OutputStream(OutputStream out, boolean doEncode, int lineLength, byte[] lineSeparator) {
super(out, new Base64(lineLength, lineSeparator), doEncode);
}
}
看到同事生成帶有換行符base64,他用Notepad++一個一個刪掉,感覺一定會有重載的函數來實現不用換行;看了一下Base64OutputStream的源碼果然有一個構造方法,如下:
OutputStream os64 = new Base64OutputStream(out,true,0,null);