Dateien mit richtigen Programm öffnen

  • Themenstarter Themenstarter bad mind
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

bad mind

Gast
Hallo Leute!

Hoffe Ihr könnt mir bei folgendem Problem helfen:

Ich bin gerade dabei einen Explorer in Java zu programmieren. Er ist auch schon fast fertig, doch hab ich ein Problem. Ich kann zwar EXE-Dateien öffnen mittels

Code:
Runtime.getRuntime().exec(//Pfadname);

doch kann ich so nicht doc-Dokumente usw. öffnen.

Ist es irgendwie möglich, aufgrund der Extension eine Datei mit dem richtigen Programm zu öffnen?

Danke
 
Probier mal

Code:
Runtime.getRuntime().exec("cmd /c dateianem");
 
die mit cmd /c ... fkt. leider nicht.

und bei Roars link bekomme ich zwar einen Explorer zum downloaden, doch sehe ich keinen Quellcode.

HILFE
 
was fürn explorer?
du willst dateien vom OS öffnen lassen, lad dir jdic, damit geht es (Desktop#open(File))
 
Mh, und warum funktioniert das mit cmd /c net??

Bei mir gehts....!


bsp.: Runtime.getRuntime().exec("cmd /c C:\\test.png"); -> macht er das Bild auf

Runtime.getRuntime().exec("cmd /c C:\\npossql.ini"); -> macht die ini Datei im Editor auf
 
Wie wäre es mit...
Code:
Runtime.getRuntime().exec("rundll32.exe url.dll,FileProtocolHandler " + sStringZurEXEoderPDFoderWasAuchImmer);
Mfg, Matflasch
 
Im Prinzip schon.
Jedoch finde ich sowas über cmd nicht so praktisch.
Das ist ja die 'Windowseigene' Methode, sowas zu regeln 😉

Aber eigentlich ist's wurscht, wie man es macht, hauptsache es klappt :wink:
 
Du musst das auch Betriebssystem abhängig machen.
Abfragen des OSs: System Properties "os.name",
Windows siehe Matflasch,
MacOS X: "open blabla.doc",
Linux weiß ich nicht.
 
Win XP wäre das beste
Code:
Runtime.getRuntime.exec ("START wasauchimmer.irgendwas");
Aber noch viel besser is JDIC.
 
Eine Library mit Nativce Code ist auf keinen Fall besser!

Pure Java ohne dlls sind immer besser!

Nachtrag: und das mit start ist schwachsinn, das geht nicht!! Kommt ne Exception!
 
Trotzdem ist es schwachfug sich eine Lib runterzuladen mit dll/os/ etc Dateien die Plattformspezifisch programmiert sind für solche unnötigen Spielereien....


Das hat net wirklich einen Sinn!
 
Illuvatar hat gesagt.:
Win XP wäre das beste
Code:
Runtime.getRuntime.exec ("START wasauchimmer.irgendwas");
Aber noch viel besser is JDIC.

Start ist mist.
Da muss man unter W98/WME anders coden als bei W2000/WXP/W2003.
Des weiteren hat Start Probleme mit Leerschritten in Pfaden.

Über rundll ist es wesentlich einfacher und schneller.
 
Illuvatar hat gesagt.:
Ich mag keine Abfragen auf osname in meinem Code, vor allem wenn es das schon in Libs gibt.

Für kleinere Sachen nehme ich ungerne fremde APIs...
Ich will es ja selbst programmieren.
Könnte ich auch zu Opera sagen: "Warum codet Ihr einen Browser, Internet Explorer gibt es doch schon.".
Dummes Beispiel, aber passt.
 
ähm thE (und auch stefan)??
du siehst doch was fürne scheiße rauskommt wenn man versucht das so zu coden. warum also unleserlichen, instabilen womöglich plattformabhängigen code schrieben, wenn es dafür shcon eine stabile, sichere und plattformabhängige( macos wird leider noch nicht unterstützt) gibt?
 
Das wirst du schon noch früh genug verstehen 😉


Warum soll ich etwas nutzen das ich net brauche (die ganze lib... nur für das Öffnen?? Hö??)

Plattformunabhängigkeit ist dank der Lib im Arsch, da ich immer entweder alle dll´s mitkopieren muss oder notwendige Pakete für das jeweilige Os erstellen muss (und MacOs gibts auch net).


Diese Lib hat für mich nur dann einen Sinn, wenn ich 70% von der ganzen Lib verwende, aber net wenn ich was öffnen will oder sonstiges....

Ansonsten wünsche ich euch viel Spaß mit der Library unter linux (für einen dau super zum Installieren, ins richtige Verzeichnis legen, aber meistens als root user, dann noch rechte setzen.... sehr gut, sowas will jeder machen..)
 
Roar hat gesagt.:
ähm thE (und auch stefan)??
du siehst doch was fürne scheiße rauskommt wenn man versucht das so zu coden. warum also unleserlichen, instabilen womöglich plattformabhängigen code schrieben, wenn es dafür shcon eine stabile, sichere und plattformabhängige( macos wird leider noch nicht unterstützt) gibt?

Reden wir von einem Hobby Programmierer oder über jemandem, der das beruflich braucht?

Ich bin Hobby Programmierer und habe Spaß am Coden.
Da lasse ich mir doch nicht einfache Dinge von einer API weg nehmen ;-).
 
Tjo und ich rede von Beruf 😉

Und meine Programme laufen fast alle nur unter Linux und die Firmen sperren meistens so ziemlich alles, also viel Spaß mit JNI 😉
 
ähm.
1. dolle aussage
2/3. nein, es ist eine plattformunabhängige lösung für viele systemabhängige aufgaben. du musst keine verschiedenen distris deiner app für versch OSes bauen, da es eine plattformunabhängige jdic.jar gibt und die dll's und so's packst du einfach dazu
4. ein port für macos ist geplant
5. wo sollte es da ein problem geben? meisnt du beim mitliefern in einem programm oder zum programmieren?

edit: wenn deine firma das nicht erlaubt haste wohl pech :-/
 
Hrhr 😉

Meine Firma erlaubt es schon, nur Kunden....


Kunden sperren viel, Kunden wollen viel... Kunden drücken viel zusammen (wer bestätigt einen Dialog indem man auf schließen drückt?? es gibt sie..)

Kunden wollen viel, vorallem Kontrolle!


Glaub mir, du wirst noch viel lernen in der Berufswelt!

btw.: ich habe keine verschiedenen distris für die Dinge die ich mache, ich habe einen MainHandler, der zwischen OS unterscheided und das dann richtig macht (ist aber von mir und ich weiß was der tut 😀 und ohne dll´s)
 
na da bin ich froh dass ich keine kunden hab und die apis verwenden kann, die ich gut finde... 😱)

btw: mit java 6 sollen einige features von jdic in die j2se kommen, vielleicht erlauben eure kunden das ja dann 😉
 
Mal sehen, wir sind zZ auch noch auf java 1.4.2 😉

Also wer weiß 😀 Rewe ist halt lieber sicher unterwegs und wer verdenkt sich das 🙂
 
Das mit Rundll hat fkt. danke.

Ich will mich zwar auf keine Seite schlagen, aber was the29 geschrieben hat, stimmt schon.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben