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

コンストラクタのargsではなく、現在は1行で表示される出力のフォーマットに問題があります。それは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

関連する問題