ich versuche, ods-Dateien zu kopieren und unter eineam andern Namen zu speichern.
Dazu habe ich einfach mal den Kopiercode verwendet.
Es funktioniert eigentlich alles, nur wenn ich die neu erstelle Datei öffnen will, kommt, dass OO die Datei reparieren muss, um sie öffnen zu können. Wenn ich sie reparieren lasse, dann kann ich sie auch öffen. Aber das kann doch nicht die "optimale" Lösung sein.
Java:
publicclassCreateODS{privateNotentabelle notentabelle1;privateString pfad;privateFile klassenliste;publicCreateODS(Notentabelle notentabelle,String tabellenname,String pfad){this.notentabelle1 = notentabelle;this.pfad = pfad;try{// Save the data to an ODS file and open it.this.klassenliste =newFile(pfad);//Backup anlegenbackup();}catch(IOException e){
e.printStackTrace();}publicvoidbackup()throwsIOException{SimpleDateFormat simpleDateFormat =newSimpleDateFormat("HH.MM.ss ' am ' dd.MM.yyyy");String datum = simpleDateFormat.format(newDate());File fSrc =newFile(klassenliste.getName());// Quelldatei File fDes =newFile(klassenliste.getParent()+"/"+"Backup"+"/"+datum+"backup.ods");// ZieldateiFileInputStream fis =newFileInputStream(fSrc);//Stream fuer QuelldateiFileOutputStream fos =newFileOutputStream(fDes);//Stream fuer Zieldateibyte buf[]=newbyte[2024];// Buffer für gelesene Datenwhile( fis.read(buf)!=-1){// solange lesen, bis EOF
fos.write(buf);// Inhalt schreiben}
fis.close();
fos.flush();
fos.close();}}
du solltest nur so viele Zeichen schreiben, wie du auch gelesen hast.
Insbesondere am Ende der Datei wird es vorkommen, dass du weniger als 2024 Zeichen in den Buffer liest; du schreibst aber alle 2024 Zeichen.
Ich wollte es mit dem NIO2.0 versuchen, doch irgendwie spinnt scheinbar mein Eclipse...
Ich habe es zunächst einmal auf Eclipse Luna geupdatet und auch die JRE 1.8 installiert.
Im Projekt-Manager auf der linken Seite habe ich die 1.8. Bib. manuell hinzufügen können, jedoch unter den Projekteinstellungen kann ich immernoch nur 1.6 auswählen...
Das Problem ist, dann er den letzten Schritt
Files.copy(from, to, StandardCopyOption.REPLACE_EXISTING);
nicht kompilen kann, weil er Files nicht kennt.
Auch ein Import von java.nio.file.Files ist nicht möglich, da "java.nio.file.Files" kann nicht aufgelöst werden...
Also ich kann dir raten, eclipse zu entfernen, neu zu installieren. Dann in deinem Workspace den .metadata Ordner löschen und nochmal wie oben beschrieben die JDK JRE einzustellen.
Ist es auch möglich, dass ich alle "alten Projekte" automatisch "importiere". Ich habe als neuen Workspace den alten Ordner angegeben und den metadateien-Ordner gelöscht/umbenannt, für den Fall der Fälle.