Итак, в основном то, что я пытаюсь сделать, это заставить JProgressBar перейти от 0 до 100%, где 100% - это полностью прочитанный файл .txt, содержащий 9999 строк слов.
Я пытаюсь сделать это, сохраняя огромную строку, сегментированную на байты, в массив байтов и обновляя JPBar с длиной массива байтов.
К моему удивлению, JProgressBar остановился на 91%. Позже я решил распечатать значения и понял, что длина файла примерно на 10000 больше, чем длина массива байтов.
Может ли кто-нибудь объяснить мне, почему это так и как я могу сделать это правильно? Я понимаю, что мне, скорее всего, не хватает понятия о чтении и подсчете символов. Фрагмент кода ниже.
Спасибо!
bar.setMinimum(0);
bar.setMaximum((int)file.length());
try{
while((check = reader.readLine()) != null){
words = words + check + "\n";
stringCount = words.getBytes();
bar.setValue(stringCount.length);
}
}catch(Exception e){}
System.out.println(stringCount.length);
System.out.println(file.length());