Android Update Progress Bar While Reading Records From A Text File
I am trying to find the best way to update a Progress Bar while reading in records from a text file stored on internal storage. In my activity fragment I use a button to load a pro
Solution 1:
The accuracy for the progress bar isn't critical, and it's more important to be responsive. I'd just grab the file's size and update the progress bar as bytes read/file size. Reading the entire file to figure out its record count could be prohibitively expensive, and it won't gain you much.
Solution 2:
If you want to know the size (in terms of lines) of the file, and it has no more lines that Long.MAX_VALUE (which is 9223372036854775807), you can use this method:
LineNumberReader lnr = new LineNumberReader(new FileReader(new File("File1")));
lnr.skip(Long.MAX_VALUE);
System.out.println(lnr.getLineNumber());
(Extracted from: Number of lines in a file in Java)
Solution 3:
What about using the file size and counting the number of bytes you read each time?
int sizeInBytes = file.length();
int currentBytes = 0;
//READ A LINE
currentBytes += line.length();
updateProgress((currentBytes/sizeInBytes)*100);
Post a Comment for "Android Update Progress Bar While Reading Records From A Text File"