File: relativen Pfad setzten

Wird eine Exception geworfen?
Wenn ja, poste die bitte mal mit dem kompletten Stacktrace.

Und poste mal bitte die Ausgabe von
Code:
System.out.println(new File(".").getAbsolutePath());

MFG

Sascha
 
die Fehlermeldung:
Java:
java.io.FileNotFoundException: WebContent\WEB-INF\data\200803191511.zip (Das System kann den angegebenen Pfad nicht finden)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(Unknown Source)
	at java.io.FileOutputStream.<init>(Unknown Source)
	at sd.services.server.Zipper.zip(Zipper.java:19)
	at sd.services.server.ZipGenerator.createZip(ZipGenerator.java:157)
	at sd.functions.rich.RichAction.execute(RichAction.java:65)
	at sd.functions.base.AbstractBaseAction.execute(AbstractBaseAction.java:197)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
	at sd.struts.RequestProcessor.process(RequestProcessor.java:148)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at sd.struts.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Unknown Source)
und die Ausgabe:
Java:
D:\Tools\eclipse\.
 
Jetzt hätte ich gerne noch ein Paar Infos.

In welchem Ordner befindet sich dein Programm.
Ich schätze mal der Ordner eclipse ist der Programm-Ordner von eclipse, oder?

Sieht so aus, als würde es sich um eine Web-applikation handeln, oder?

Ich schätze, dass der Class-Path in einer Config-Datei neu gesetzt wird.

MFG

Sascha
 
Hi @ all :)

ich grabe diesen Thread mal aus, weil sich mir dasselbe Problem stellt und ich leider noch keine Lösung habe.

Also, folgendes:
Ein JFileChooser wird als runnable jar gestartet.
Es wird ein Image von irgendeinem Ordner des Anwenders in einen Ordner der Anwendung kopiert.

mit dem absoluten Pfad funktioniert das wohl:
Java:
cb.copyFile(new File(FPATH), new File("R://JAVA//EclipseEEWorkspace//projekt//src//at//components//images//image." + fn.extension()));

Wie aber oben schon erwähnt, ist das ein runnable jar, was bedeutet, dass diese auch zB. von einem USB - Stick aus gestartet werden kann, mit anderen Worten, dieses Programm wird nirgendwo installiert.

Der Dreh - und Angelpunkt ist , dass statt
Java:
R://JAVA//EclipseEEWorkspace....
die Pfadangabe des Zielordners der Anwendung angegeben ist.

Wenn ich nun die Pfadangabe wie folgt abändere:
Java:
cb.copyFile(new File(FPATH), new File("//projekt//src//at//components//images//image." + fn.extension()));
kommt eine
Java:
java.io.FileNotFoundException: \projekt\src\at\components\images\image.gif (Der Netzwerkpfad wurde nicht gefunden)...und so weiter

Denke aber doch, dass eine relative Zielordnerangabe möglich ist...odel bin ich da irriger Anschauung?

Ich würde Euch nun um Hilfe bitten...vielen Dank im Voraus
 
naja, man kann auch einfach "drumherum" denken und den pfad der aktuellen datei ermitten und damit weiterarbeiten, wenn ich das hier richtig verstehe ;)
Java:
	public static void main(String[] args){
		String path = System.getProperty("user.dir");
		System.out.println(path);
		//erweitere diesen path, unterordner anhängen etc
	}
 
IT WORKS!

Spitze...vielen Dank!

Habe den Pfad erweitert und das Bild wird genau in den dafür vorgesehenen Ordner abgespeichert :)

Der Code schaut jetzt folgendermaßen aus:
Java:
String path = System.getProperty("user.dir");
String path2 = "//src//at//components//images//image.";
cb.copyFile(new File(FPATH), new File(path + path2 + fn.extension()));

Danke nochmals :)
 
anosonsten funktioniert auch
Java:
String relativ = new File(".").getCanonicalPath();
File absolout = new File(relativ +"\\Ordner");
 
Zuletzt bearbeitet von einem Moderator:
So...nun muss ich an dem oben genannten Problem weiterarbeiten, weswegen dieser Thread nochmals bemüht wird :)

Ich habe das nun von Jungspund umgesetzt.
Das funktioniert.

Ein gewähltes Bild wird von einem Ordner auf meiner Festplatte in den Workspace von Eclipse kopiert.
Starte ich den Windows - Explorer und rufe den betreffenden Ordner auf, so finde ich das kopierte Bild - aber nur dort.

In der Eclipse selbst, im scr Pfad, scheint das Bild nicht auf, weswegen ich auch nicht zugreifen kann.
Selbst wenn ich die Eclipse neu starte, erscheint das Bild nicht.

Wieso ist das so?

Bitte Euch um eine Erkläre, danke :)
quidnovi
 
Hi diel2001 :)

Die Dateieindung wird nicht herausgefiltert, das Bild wird unter seinem Namen und Endung im vorgesehenen Ordner gespeichert.
Refresh auf das Projekt bringt leider auch nix :(

Jetzt mal 'ne grundsätzliche Frage:
Ist es richtig, wenn die Images unterhalb des src - Baumes gespeichert werden?
Oder ist es besser diese direkt unterhalb des Projektes zu sammeln?

Bis jetzt habe ich die benötigten Images unterhalb der src in unterschiedliche Ordner gespeichert.
Also: src/imgOrdner/ usw.
Diese habe ich allerdings per Mausklick in diese Ordner kopiert.
Das soll nun auch mit dem JFileChooser funktionieren, was ja auch funktioniert - eigentlich...
Dass die über diesen Chooser kopierten Images im Windows - Explorer sichtbar sind, in Eclipse aber nicht, verstehe ich nicht.

Das definierte Ziel:
Es handelt sich um eine Applikation.
Während der Laufzeit dieser Applikation muss man Bilder von einer Partition/Festplatte in die Applikation speichern können.
Diese Bilder sollen dann aus der Applikation heraus angezeigt werden können.

Wie oben geschrieben...per Maus in die jeweiligen Ordner kopierte Images kann ich ohne Probleme aufrufen,
jene mit dem FileChooser sind nicht mal sichtbar :(

Issn da los?
quidnovi
 
Zurück