H
Halogenid
Gast
Hallo!
Ich möchte bei dem folgenden Code eine ProgressBar einbauen, die den Status der zu lesenden Datei repräsentiert. In der while-Schleife befindet sich eine Zeile, wo ein counter hochgezählt wird. Der wird nur leider 1 mal hochgezählt und so kann ich schlecht einen Status zurückgeben. Wo und wie mache ich das in diesem Beispiel ohne dabei den BufferedInputStream wegzunehmen?
Ich möchte bei dem folgenden Code eine ProgressBar einbauen, die den Status der zu lesenden Datei repräsentiert. In der while-Schleife befindet sich eine Zeile, wo ein counter hochgezählt wird. Der wird nur leider 1 mal hochgezählt und so kann ich schlecht einen Status zurückgeben. Wo und wie mache ich das in diesem Beispiel ohne dabei den BufferedInputStream wegzunehmen?
Code:
BufferedInputStream in = null;
ByteArrayOutputStream out = null;
File f = new File(this.datalocation);
byte buffer[] = new byte[(int)f.length()];
try {
in = new BufferedInputStream(new FileInputStream(f));
out = new ByteArrayOutputStream((int)f.length());
buffer = new byte[(int)f.length()];
int bytesRead;
int counter=0;
while((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
counter++;
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (in != null) try { in.close(); } catch (Exception e) { e.printStackTrace(); }
}