public synchronized float recoveredBytesPercent(){
  long total=0;
  long recovered=0;
  for (  File file : fileDetails.values()) {
    if (file.reused() == false) {
      total+=file.length();
      recovered+=file.recovered();
    }
  }
  if (total == 0 && fileDetails.size() == 0) {
    return 0.0f;
  }
  if (total == recovered) {
    return 100.0f;
  }
 else {
    return 100.0f * recovered / total;
  }
}

public synchronized float recoveredBytesPercent ( ) { long total = 0 ; long recovered = 0 ; for ( File file : fileDetails . values ( ) ) { if ( file . reused ( ) == false ) { total += file . length ( ) ; recovered += file . recovered ( ) ; } } if ( total == 0 && fileDetails . size ( ) == 0 ) { return 0.0f ; } if ( total == recovered ) { return 100.0f ; } else { return 100.0f * recovered / total ; } }
percent of bytes recovered out of total files bytes * to be * recovered
