0

キャプチャした写真 (.jpeg 形式) を 16 進数の文字列に変換しようとしていますが、実行すると、変換が成功するまでに 2 分以上かかります。バッファサイズを増やす以外にパフォーマンスを向上させる方法を教えてください。(Androidで使用)

以下は私のコードです

private String changeByteToHex(byte[] a) {
    StringBuilder sb = new StringBuilder();
    for (byte d : a) {
        sb.append(String.format("%02X", d));
    }
    return sb.toString();
}

public String photoEncode(File file) {
    try{

        ByteArrayInputStream inStream = retrieveByteArrayInputStream(file);
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();

        byte[] temp = new byte[8192];
        int read;

        while((read = inStream.read(temp)) >= 0){
            outStream.write(temp, 0, read);
        }

        byte[] data = outStream.toByteArray();  
        return changeByteToHex(data);
    } catch(Exception ex) {
        ex.printStackTrace();
        return null;
    }
}
4

0 に答える 0