Добавить новую строку в строку в кодировке Base64. - PullRequest
0 голосов
/ 06 июля 2011
byte[] serObj = getBytesFromFile(file);
final byte[] CLRF = { '\r', '\n' };
Base64 encoded = new Base64 (72,CLRF);
System.out.println(encoded.encodeBase64String(serObj));

У меня проблемы с форматированием вывода, который в настоящее время отображается в виде одной строки, а не в соответствии с аргументами в конструкторе.Предполагается, что это будет строка из 72 символов, за которой следует CLRF и следующая строка.Может кто-нибудь указать, что не так с кодом?Кроме того, как я могу вручную добавить / добавить символ новой строки в строке?Я пытался использовать счетчик символов, но я застрял на том, как добавить \ n, когда счетчик достигнет 72-го символа.

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 Ответ

1 голос
/ 06 июля 2011

Метод encodeBase64String(byte[]), который вы вызываете, является методом static, поэтому созданный вами экземпляр Base64 не используется вызовом метода.

Вы должны использовать метод encodeToString(byte[]), который является методом экземпляра.

...