Datei aus .jar kopieren

dadom110

Erfahrenes Mitglied
Guten Tag Zusammen,

hab eine Methode dir mir eine Kopie einer Datei macht. In meiner IDE kein Problem. Wenn ich das ganze in ein Jar Zusammenpacke, fällt er auf die Nase und erzeugt keine neue Datei. Hier der Code:

Code:
public static void copyFile(File src, File dest, int bufSize, boolean force) throws IOException {
		if (dest.exists()) {
			if (force) {
				dest.delete();
			} else {
				throw new IOException("Cannot  overwrite  existing  file");
			}
		}
		byte[] buffer = new byte[bufSize];
		int read = 0;
		InputStream in = null;
		OutputStream out = null;
		try {
			
			File f=new File(ClassLoader.getSystemResource(src.getName()).toString());
			in = new FileInputStream(f);
			
			out = new FileOutputStream(dest);
			while (true) {
				read = in.read(buffer);
				if (read == -1) {
					break;
				}
				out.write(buffer, 0, read);
			}
		} catch (IOException e) {
			throw new IOException("Fehler bem kopieren der Datei");
		} finally {
			in.close();
			out.close();
		}
	}

die Source Datei ist festgelegt,
Hole mir die Datei genau wie meine ganzen Bilder (die funktionieren im jar Problemlos)

Code:
private static final File XLSTEMP = new File(ClassLoader.getSystemResource("temp.xls").getFile());


Jemand eine Idee warum das ganze im jar nicht mehr will?

grüße
Dom
 
Zuletzt bearbeitet:
Ich nehme an weil die Datei im Jar nicht mehr vorhanden ist. Im Gegensatz zu Bildern werden andere Dateien von vielen Jar-Programmen nicht mit ins Jar gepackt. Ein Jar ist im Grunde nur ein zip, du kannst als mit eine Zip-Programm reinschauen ob deine Excel-Datei enthalten ist.
 
HuHu..

ne hatte schon rein geschaut. Die .xls Datei ist vorhanden, auch an der korrekten Stelle (auf oberster Ebene, zusammen mit den ganzen Bildern.) Also daran kann es irgendwie nicht liegen

viele Grüße
Dom
 
ahh ich hab den Fehler...mal wieder die guten "leerzeichen" im Pfad. Das kommt beim gepackten jar als File raus, was er versucht zu öffnen:

jar:file:\C:\Dokumente%20und%20Einstellungen\mtm\Desktop\DDocumentExplorer\DDocumentExplorer.jar!\temp.doc


*grml* thx
Dom
 
Oki, also das scheint aber doch nicht das Problem zu sein, denn selbst wenn ich ihm mal eben eine neues File unterhejubelt habe, mit dem Path:

file:\C:\"Dokumente und Einstellungen"\mtm\Desktop\DDocumentExplorer\DDocumentExplorer.jar!\temp.xls

bekomm ich eine:

java.io.FileNotFoundException: file:\C:\"Dokumente und Einstellungen"\mtm\Deskto
p\DDocumentExplorer\DDocumentExplorer.jar!\temp.xls (Die Syntax f³r den Dateinam
en, Verzeichnisnamen oder die Datentrõgerbezeichnung ist falsch)

*grml* bei den Bildern kann er doch auch darauf zugreifen, er scheint nur ein problem mit einem FileReader zu haben, oder wie sieht das aus?

grüße
Dom
 
Zurück