将换行符附加到Base64编码的字符串。

时间:2011-07-06 09:32:56

标签: java apache base64 apache-commons

byte[] serObj = getBytesFromFile(file);
final byte[] CLRF = { '\r', '\n' };
Base64 encoded = new Base64 (72,CLRF);
System.out.println(encoded.encodeBase64String(serObj));

我在格式化输出时遇到问题,输出当前显示为单行,而不是根据构造函数中的args。它应该是一个包含72个字符的行,然后是CLRF和下一行。有人能指出代码有什么问题吗?另外,我怎么能在String中手动追加/添加换行符?我尝试使用一个字母计数器,但是当计数器到达第72个字符时,我仍然坚持如何添加\ n。

public static int count(Reader in) throws IOException {
char[] buffer = new char[4096];
int count = 0;
int len;
while((len = in.read(buffer)) != -1) {
    count += len;
}
    return count;
}

1 个答案:

答案 0 :(得分:1)

您调用的encodeBase64String(byte[])方法是static方法,因此方法调用不会使用您创建的Base64实例。

您应该使用encodeToString(byte[])方法,这是一种实例方法。