S
Sasku
Gast
Hallo Leute,
ich bin immernoch dabei mein Backup-Programm zu schreiben, nachdem auf einmal die Klasse( welche zu 90 % fertig war ) einfach wie vom erdboden verschwunden ist musste ich die natürlich nochmal schreiben .. naja jetzt ist das Problem .. mein Programm ( besser gesagt die klasse ) findet das files Array irgendwie nicht ... ich wollte es Testweise ausgeben lassen .. tut es aber nicht .. deshalb funktioniert das Programm nicht .. ich finde den Fehler weshalb es die Filenamen ( besser gesagt die Pfade ) nicht ausgibt nicht ... kann mir da jemand helfen?
Das ist jetzt die ganze Klasse ...
da die files nicht gefunden werden können .. kann ich von den Dateien auch kein backup machen und nicht ins zip-file schreiben .. kann mir da bitte jemand sagen, wie ich wieder auf die files zugreifen kann
mfg
achja .. bitte nicht auf die Kommentare achten .. die sind aus einer älteren Version noch .. ^^
ich bin immernoch dabei mein Backup-Programm zu schreiben, nachdem auf einmal die Klasse( welche zu 90 % fertig war ) einfach wie vom erdboden verschwunden ist musste ich die natürlich nochmal schreiben .. naja jetzt ist das Problem .. mein Programm ( besser gesagt die klasse ) findet das files Array irgendwie nicht ... ich wollte es Testweise ausgeben lassen .. tut es aber nicht .. deshalb funktioniert das Programm nicht .. ich finde den Fehler weshalb es die Filenamen ( besser gesagt die Pfade ) nicht ausgibt nicht ... kann mir da jemand helfen?
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class SaveListener implements ActionListener {
public static String speicherort_t;
private String[] dateiInText;
SimpleDateFormat time = new SimpleDateFormat("dd.MM.yyyy"); // Zeit wird für Zip formatiert
Date currDate = new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()); // aktuelles Datum wird genommen
@Override
public void actionPerformed(ActionEvent arg0) {
dateiInText = new String[oFlaeche.model.getSize()]; // String Array "dateiInText" wird auf die Länge der Liste gesetzt
for ( int i = 0; i<oFlaeche.model.getSize(); i++) { // For-Schleife ist für das zuweisen der Links in das String Array verantwortlich
dateiInText[i] = (String) oFlaeche.model.getElementAt(i);
System.out.println(i);
System.out.println(dateiInText[i]);
}
File[] files = new File[dateiInText.length];
for ( int i = 0; i<dateiInText.length;i++) {
files[i] = new File(dateiInText[i]);
System.out.println(files[i]);
}
// System.out.println(files.length);
speicherort_t = oFlaeche.speicherPfad_t.getText();
zipFile(files, speicherort_t+"\\"+time.format(currDate)+".zip"); // ruft die Methode "zipFile" auf und setzt den Namen des ZipFiles
}
public static void zipFile(File[] files, String zipFilePath) { // zum zippen der Dateien ... MAGIC .. ka wies geht xD
try {
FileOutputStream fileOutputStream = new FileOutputStream(zipFilePath);
ZipOutputStream zipOutputStream = new ZipOutputStream(fileOutputStream);
for ( int i = 0; i<files.length;i++ ) {
ZipEntry zipEntry = new ZipEntry(files[i].toString());
zipOutputStream.putNextEntry(zipEntry); // wobei ich den Code bis hier hin sogar verstehe ..
FileInputStream fileInputStream = new FileInputStream(files[i]);
byte[] buf = new byte[1024];
int bytesRead;
while ((bytesRead = fileInputStream.read(buf)) > 0 ) {
zipOutputStream.write(buf, 0, bytesRead);
} // den vorangegangenen Code verstehe ich nicht .. btw .. eig nur die schleife
}
zipOutputStream.closeEntry();
zipOutputStream.close();
fileOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Das ist jetzt die ganze Klasse ...
da die files nicht gefunden werden können .. kann ich von den Dateien auch kein backup machen und nicht ins zip-file schreiben .. kann mir da bitte jemand sagen, wie ich wieder auf die files zugreifen kann
mfg
Ergänzung ()
achja .. bitte nicht auf die Kommentare achten .. die sind aus einer älteren Version noch .. ^^