Pada postingan kali ini kita akan menggunakan salah satu class yang sangat berguna untuk me-monitor kemajuan suatu proses pembacaan/penerimaan aliran data, misal proses pembacaan data dari suatu file. dengan menggunakan progress monitor kita dapat memperkirakan berapa lama waktu yang dibutuhkan untuk melakukan operasi pembacaan data dari suatu file, selain itu penggunaan progress monitor juga akan membuat program kita menjadi lebih interaktif.
dibawah ini adalah contoh program yang memanfaatkan class ProgressMonitorInputStream untuk me-monitor kemajuan proses pembacaan data suatu file, class ProgressMonitorInputStream sendiri didefinisikan dalam package javax.swing.ProgressMonitorInputStream.
package readingmonitor; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import javax.swing.JFrame; import javax.swing.ProgressMonitorInputStream; public class ReadingMonitor { static private File file; static { file = new File("src/readingmonitor/folder/firstcup.pdf"); } static private void readFile() throws FileNotFoundException, IOException, InterruptedException { int i = 0; ProgressMonitorInputStream pms = new ProgressMonitorInputStream (new JFrame(), "reading " + file.getName() + "...", new FileInputStream(file)); while ((i = pms.read()) != -1) { if (pms.read() == -1) { pms.close(); } } } public static void main(String[] args) { // TODO code application logic here try { ReadingMonitor.readFile(); } catch (FileNotFoundException ex) { System.out.println("File not found!"); } catch (IOException | InterruptedException ex) { System.out.println("Interrupted!"); System.exit(1); } finally { System.exit(2); } } }
output:
No comments:
Post a Comment