diff options
Diffstat (limited to 'Dozentenmodul/src/main/java/ftp/UploadTask.java')
| -rw-r--r-- | Dozentenmodul/src/main/java/ftp/UploadTask.java | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/Dozentenmodul/src/main/java/ftp/UploadTask.java b/Dozentenmodul/src/main/java/ftp/UploadTask.java deleted file mode 100644 index e7ebe43b..00000000 --- a/Dozentenmodul/src/main/java/ftp/UploadTask.java +++ /dev/null @@ -1,108 +0,0 @@ -package ftp; - -import java.io.File; -import java.io.FileInputStream; - -import javax.swing.JOptionPane; -import javax.swing.SwingWorker; - -import models.Image; - -/** - * Executes the file upload in a background thread and updates progress to - * listeners that implement the java.beans.PropertyChangeListener interface. - * - * @author www.codejava.net - * - */ -public class UploadTask extends SwingWorker<Void, Void> { - private static final int BUFFER_SIZE = 4096; - - private String host; - private int port; - private String username; - private String password; - private String destDir; - private File uploadFile; - private int percentCompleted; - - public UploadTask(String host, int port, String username, String password, - String destDir, File uploadFile) { - this.host = host; - this.port = port; - this.username = username; - this.password = password; - this.destDir = destDir; - this.uploadFile = uploadFile; - - } - - /** - * Executed in background thread - */ - @Override - protected Void doInBackground() throws Exception { - FTPUtility util = new FTPUtility(host, port, username, password); - try { - util.connect(); - util.uploadFile(uploadFile, destDir); - - FileInputStream inputStream = new FileInputStream(uploadFile); - byte[] buffer = new byte[BUFFER_SIZE]; - int bytesRead = -1; - int i = 0; - long totalBytesRead = 0; - percentCompleted = 0; - long fileSize = uploadFile.length(); - Image.image.setFilesize(fileSize); - long start = System.nanoTime(); - final double NANOS_PER_SECOND = 1000000000.0; - final double BYTES_PER_MIB = 1024 * 1024; - while ((bytesRead = inputStream.read(buffer)) != -1 - && isCancelled() == false) { - util.writeFileBytes(buffer, 0, bytesRead); - totalBytesRead += bytesRead; - percentCompleted = (int) (totalBytesRead * 100 / fileSize); - double speed = NANOS_PER_SECOND / BYTES_PER_MIB - * totalBytesRead / (System.nanoTime() - start + 1); - setProgress(percentCompleted); - firePropertyChange("speed", 0, speed); - firePropertyChange("filesize", 0, fileSize); - firePropertyChange("bytesread", 0, totalBytesRead); - } - - inputStream.close(); - - util.finish(); - } catch (FTPException ex) { - JOptionPane.showMessageDialog(null, - "Error uploading file: " + ex.getMessage(), "Error", - JOptionPane.ERROR_MESSAGE); - ex.printStackTrace(); - setProgress(0); - cancel(true); - } finally { - util.disconnect(); - } - - return null; - } - - /** - * Executed in Swing's event dispatching thread - */ - @Override - protected void done() { - if (!isCancelled() && percentCompleted==100) { - System.out.println("Datei erfolgreich hochgeladen"); - JOptionPane.showMessageDialog(null, - "Datei erfolgreich hochgeladen.", "Message", - JOptionPane.INFORMATION_MESSAGE); - } else if(!isCancelled() && percentCompleted != 100){ - System.out.println("Datein wurde unvollständig hochgeladen"); - JOptionPane.showMessageDialog(null, - "Datei wurde unvollständig hochgeladen. Bitte wiederholen.", "Message", - JOptionPane.INFORMATION_MESSAGE); - } - } -}
\ No newline at end of file |
