Rechercher : dans
Par :

Comment ouvrir fichier (bmp, txt) avec java

Dernière réponse le 8 oct 2008 à 16:00:25 algod, le 6 oct 2008 à 17:34:44 
 Signaler ce message aux modérateurs

Bonjour

Je reprends une application (gestion de bugs) où les utilisateurs peuvent mettre des pièces jointes (image, txt) dans leur signalement. Ces pièces jointes sont enregistrées dans une base de données (blob).

Lorsque le développeur veut voir la pièce jointe, celle-ci est copiée sur son disque (personnellement je l'aurais mise en mémoire, mais c'est pas moi qui est fait le code et je peux pas le changer) puis la pièce jointe doit être ouverte.

A partir de la servlet, j'arrive à lancer une application ( par exemple notepad ou paint) mais pas le fichier en lui même. Pour cela j'utilise : Runtime.getRuntime().exec("C:\\WINDOWS\\notepad.exe");

A partir de la page jsp, je n'arrive pas à ouvrir le fichier (Warning, erreur sur la page : accès refusé avec IE7) avec un javascript (fait par mon prédécesseur) :
function redirect(){
var zip = '<%=form.getNom_fichier()%>';
parent.location=zip;
}

Dans form.getNom_fichier() il y a le lien vers le fichier ( "C:\toto\mimi.txt" )

Avec Firefox2, j'ai le message : "Firefox ne sait pas ouvrir cette adresse car le protocole (d) n'est associé à aucun programme".

Le lien vers le fichier apparaît aussi dans un champ texte et quand on recopie ce lien dans un onglet, le fichier s'ouvre dans l'onglet.

Est-ce que quelqu'un aurait une idée, que ce soit dans la servlet ou dans la page jsp ?

Je travaille sous websphere(eclipse) avec struts (je débute avec struts).

Merci.

P.S. : Je ne pourrais répondre aux questions qu’à partir de demain matin.

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « comment ouvrir fichier (bmp, txt) avec java » dans :
Voir le contenu d'un fichier .jar VoirRien de plus facile que de voir ce que contient un fichier .jar: Renommez-le en .zip et ouvrez-le ! Si vous voulez voir ce que contiennent les programmes java compilés .class, vous devrez utiliser un décompilateur Java tel que JAD:...
Comment ouvrir un fichier PPS (présentation PowerPoint) ? VoirComment lire un fichier PPS ? Les fichiers PPS sont des diaporamas crées avec le logiciel PowerPoint. Il s'agit simplement de fichiers PPT dont l'extension du nom de fichier a été modifiée en PPS. Il est possible de les ouvrir avec un des logiciels...
Ouvrir un fichier WPS VoirProblème Vous avez reçu par mail un fichier joint en wps, mais vous n'arrivez pas à l'ouvrir avec Word ou Open Office. Solution Il suffit de se rendre sur le site http://www.conv2pdf.com, qui permet de convertir les fichiers WPS en PDF. Merci...
Robots.txt VoirPrésentation du fichier robots.txt Le fichier robots.txt est un fichier texte contenant des commandes à destination des robots d'indexation des moteurs de recherche afin de leur préciser les pages qui peuvent ou ne peuvent pas être indexées. Ainsi...
Le format BMP VoirLe format BMP Le format BMP est un des formats les plus simples développé conjointement par Microsoft et IBM, ce qui explique qu'il soit particulièrement répandu sur les plates formes Windows et OS/2. Un fichier BMP est un fichier bitmap, c'est-à...

1

algod, le 7 oct 2008 à 16:47:12

J'ai trouvé une solution (partielle), j'utilise l'invite de commande dans la servlet :

String lienFichier = demandeFormBean.getNom_fichier();
if (!lienFichier.contains(" "))
{
Runtime r = Runtime.getRuntime();
r.exec("cmd /c start " + lienFichier);
}

le seul problème, c'est que s'il y a un espace dans le nom du fichier, ca ne lance pas le fichier.

C'est pas grave, je ferai avec.

Répondre à algod

2

teebo, le 7 oct 2008 à 16:51:38

Salut,
Rajoutes des " autour du nom de ton fichier...
Ramenez-nous Bobo sur les onglets et pendez les ergonomes avec leur point d'interrogation!
À bas le point d'interrogation sanglant!

Répondre à teebo

3

algod, le 7 oct 2008 à 17:25:27

Merci de ta réponses mais ca marche pas.

Avec des " l'invite de commande s'ouvre et ne fait rien et avec des ' ca change rien.

Ce que je vais essayer, c'est lors de l'enregistrement, de remplacer les " " par des "_" .

Répondre à algod

4

danimo, le 7 oct 2008 à 17:46:11

Salut,

Runtime r = Runtime.getRuntime();
r.exec("cmd /c start " + lienFichier);

Essayer :

r.exec(new String[]
{"cmd\\c start", lienFichier});


Par exemple ceci:

runtime.exec(new String[]
{ "C:\\Program Files\\Adobe\\Reader 8.0\\Reader\\AcroRd32.exe",
"C:\\Mes programmes\\T07GR-F.pdf"});

fonctionne parfaitement.

Cordialement

Dan

Répondre à danimo

5

algod, le 8 oct 2008 à 10:22:00

Merci

j'ai essayé :
r.exec(new String[] {"C:\\Program Files\\Adobe\\Acrobat 7.0\\Reader\\AcroRd32.exe", "C:\\Temp\\fic a ouvrir.pdf"}); et ca fonctionne très bien r.exec(new String[]{"C:\\Program Files\\Adobe\\Acrobat 7.0\\Reader\\AcroRd32.exe",lienFichier }); aussi d'ailleurs

mais r.exec(new String[] {"cmd\\c start", "C:\\Temp\\fic a ouvrir.pdf"}); ne fonctionne pas, ainsi que r.exec(new String[] {"cmd\\c start", lienFichier});

Je pourrais faire une boucle pour tester l'expension et mettre les liens vers les applications à ouvrir, mais l'utilisateur n'aura pas forcément installer l'application sur son poste où à l'endroit que je désignerai.

Je vais laisser (pour le moment) comme c'est, en n'ouvrant que ceux qui n'ont pas d'espace dans le nom et indiquer le chemin pour les autres. Y a d'autres petit bug en attente.

Merci a tous pour vos réponses.

Répondre à algod

6

teebo, le 8 oct 2008 à 11:07:34

Salut,

essaye r.exec ("cmd\\c start \"c:\\temp\\fic a ouvrir.pdf\"")

Ramenez-nous Bobo sur les onglets et pendez les ergonomes avec leur point d'interrogation!
À bas le point d'interrogation sanglant!

Répondre à teebo

7

 algod, le 8 oct 2008 à 16:00:25

Merci mais ca ne fonctionne toujours pas.

Bon, j'ai résolue en partie mon problème, au moment de l'enregistrement des pieces jointes, je remplace les espaces par le caractère souligné ( _ ) . C'est surement pas la meilleure solution mais ca fonctionne.

Merci à ceux qui m'ont répondu.

Répondre à algod