Hallo zusammen
ich lade in einem Swingworker einige dateien auf einen FTP-server hoch und will dabei die fortschritt anzeigen (deshalb swingworker - mit anderen wie invokelater geht es nicht)
nun möchte ich aber eine liste der hochgeladenen dateien zurückgeliefert bekommen:
ich bekomme auch kein ergebnis wenn ich statt dem "return ee" sage: "return worker.get()"...
ich krieg das string array einfach nicht aus dem swingworker heraus... kann mir wer helfen?
egal wie, ich will einfach das String[] aus dem worker herausbekommen wenn er fertig ist damit ich damit weiterarbeiten kann...
ich lade in einem Swingworker einige dateien auf einen FTP-server hoch und will dabei die fortschritt anzeigen (deshalb swingworker - mit anderen wie invokelater geht es nicht)
nun möchte ich aber eine liste der hochgeladenen dateien zurückgeliefert bekommen:
Java:
public String[] fileUpload(final File[] f, final boolean compress, final String ftpPath){
final String[] ee; //für return der fileupload methode
SwingWorker<String[], Void> worker = new SwingWorker<String[], Void>() {
public String[] doInBackground() {
LinkedList<String> paths = new LinkedList<String>(); //soll zurückgegeben werden in der methode wenn fertig
//...FTP verbindung erstellen und verbinden...
for(final File ff : files){ //alle selektierten dateien hochladen
if(ff.isDirectory()) {
try {
ftp.makeDirectory(ff.getName());
} catch (IOException e) {
e.printStackTrace();
}
paths.add("DIR:" + directory + "/" + ff.getName());
storeFiles(ff, ftp, ff.getName() + "/");
}
}
// ...FTPLogout...;
return paths.toArray(new String[0]);
}
protected void done() {
try {
ee = get(); [B][COLOR="Red"]//hier meckert es[/COLOR][/B] egal was ich versuche
//get() kann ich ja hier wegen dem void nicht returnen...
} catch (InterruptedException e) {
} catch (ExecutionException e) {
}
}
};
worker.execute();
return ee;
ich bekomme auch kein ergebnis wenn ich statt dem "return ee" sage: "return worker.get()"...
ich krieg das string array einfach nicht aus dem swingworker heraus... kann mir wer helfen?
egal wie, ich will einfach das String[] aus dem worker herausbekommen wenn er fertig ist damit ich damit weiterarbeiten kann...