I guess whatever I do to fileSize to get a value that fits in the range I'll have to do to size so that it'll progress evenly.
I thought this would be a common sort of hurdle but don't see anything on the Internet that explains how you make a file's size fit into the progress bar range.
A progress bar is a percent object. If you choose the progress bar to have, say, 100 units, then to calculate how many bytes to read per bump on the progress bar, take the file size and divide it by 100.
filesize = 12498
progress bar length = 100
number of bytes to read before bumping the progress bar by 1 = 12498 / 100 = 124.98 --> 125
Because of rounding, you'll have to just set the progress bar to 100% when you've wholly read the file.