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

생성자의 args에 따르지 않고 현재 출력을 한 줄로 표시하는 데 문제가 있습니다. 72자를 가진 줄이고 CLRF와 다음 줄이 뒤 따른다. 누군가 코드를 잘못 지적 할 수 있습니까? 또한, 수동으로 문자열 내에 개행 문자를 추가/추가 할 수 있습니까? char 카운터를 사용하여 시도했지만 카운터가 72 번째 char에 도달하면 \ n을 추가하는 방법에 대해 고민하고 있습니다.Base64로 인코딩 된 문자열에 줄 바꿈을 추가합니다.

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

당신이 호출되는 encodeBase64String(byte[]) 방법은 static 방법이다, 그래서 당신이 만든 Base64 인스턴스는 메소드 호출에 의해 사용되지 않습니다.

인스턴스 메서드 인 encodeToString(byte[]) 메서드를 사용해야합니다.

+0

@ StephenC.thx.solve 내 호기심의 첫 부분. – reukEN11

관련 문제