проверка целостности файла с использованием md5 - PullRequest
0 голосов
/ 01 декабря 2011

Я пытаюсь проверить целостность файла базы данных в папке активов, и я использую этот код в приложении для Android.

Я не знаю, правильно ли прямо конвертировать InputStream в строку

Мой вопрос заключается в том, как в этом коде преобразовать файл в папку активов в строку.

Я пробовал BufferdReader как

  AssetManager am = getResources().getAssets();
  String as = null;
InputStream is=null;
StringBuilder sb = new StringBuilder();
try {
    is=am.open("sdapk.db");
    BufferedReader br= new BufferedReader(new InputStreamReader(is));

     while ((as=br.readLine())!=null) {
          sb.append(as + "\n");
        }
     is.close();

}catch(IOException e) {
    Log.v("Error_E",""+e);
}
String  res = md5(sb.toString());

но не повезло

Пожалуйста, пролите немного света на это и направьте меня в правильном направлении.

Спасибо!

1 Ответ

0 голосов
/ 01 декабря 2011

\ n может изменить исходное содержимое, что приведет к другому MD5. Некоторые системы используют \ r для возврата каретки. Вы должны использовать входной поток напрямую, как указано ниже

byte[]b=new byte[1024];
while(is.read(b)!=-1){
 //do your magic here with b
}
...