Effectuer une comande DOS en JAVA

Fermé
baRALai - 26 avril 2004 à 23:39
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 - 22 juin 2004 à 17:14
Bsr tt le monde, je souhaiterais effectuer une comande DOS (genre ouvrir un document ex: C:/image.jpg) en JAVA. (et non en C++ car en fait je dois le faire en HTML/JSP). L'API Java m'a pas vraiment aider (Outputstream m'a permis d'ouvrir des documents textes UTF mais ca me sert po à grand chose :( ). Bref si qq'un peut m'aider...
Merci de votre réponse.
A voir également:

5 réponses

blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 160
27 avril 2004 à 09:11
salut,
normalement, une condition imposée par Sun pour le langage java,
c'est de ne pas toucher au système d'exploitation(sauf si lui l'autorise). Il ya eu un procès entre Sun et micro$oft à ce propos. Si internet explorer est bourré de failles, c'est qu'à la base il n'a pas été isolé complètement du système d'exploitation.
Il y a des commandes pour tranférer des fichiers, pour le reste,
normalement rien ne devrait sortir du navigateur. (normalement)
Il y a u truc aussi, rien ne dit qu'un navigateur est sous windows, compatible dos ou pas, sous mac os, sous linux, donc les commandes dos c'est présumer que système de l'ordinateur client accepte le dos, ce qui n'est pas possible.
0
Utilisateur anonyme
27 avril 2004 à 10:21
Mille axcuses, mais avec un objet RunTime ou quelquechose comme ca, c'est possible... Il faut chercher dans l'API java.
Tiens, va voir la :
http://java.sun.com/j2se/1.4.2/docs/api/
et cherche "runtime", le 2°.
Tchôô

Fat_Cartman,
Parce que je le vaux bien...
0
JSS Messages postés 3745 Date d'inscription jeudi 22 avril 2004 Statut Contributeur Dernière intervention 17 décembre 2004 32
27 avril 2004 à 10:32
Salut,

Si ton objectif est d'ouvrir des images regardes le package java.awt.image ou encore mieu les JAI Java Advanced Image.

Bonne chance.
J'espere que ca pourra t'aider.

JSS
0
salut
j'aime bcq informatique mais j'ai de probleme sur tout du cote comande dos si vous pouvez me les donne ça me fera plaisir merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
22 juin 2004 à 17:14
Salut,

Bon la seule solution pour toucher a la couche OS de windows par du java c'est d'utiliser JNI java native interface...
tu te fait une petite dll en c/c++ que tu placera dans ton projet java..ensuite tu pourra appeller dans ton java ttes les fonctions de la dll...bon ya quelques regles a respecter mais si tu suit bien le tutorial suivant:
http://perso.wanadoo.fr/jm.doudoux/java/tutorial/chap029.htm
tu devrai arriver à tes fin sans probleme...

j suis meme sympa je te fait un copier coller du code en c qui permet d executer n importe quelle commande en passant les parametres qu il fo... :p (le tout s appuis sur l API win32 de windows apres (normal c est le but tu me dira :p))
#include <jni.h>
#include <stdio.h>
#include <windows.h>
#include "JniWin32.h"


JNIEXPORT jint JNICALL Java_appliserveur_util_JniWin32_GetFreeSpace
  (JNIEnv *env, jobject obj, jstring chaine1)
{
	
   	//declaration des variables

    unsigned long Secteurs_Par_Cluster, Bytes_Par_Secteurs, Cluster_libre, Total_Cluster; /* stockage des infos */
	unsigned long espace_libre, espace_utilise, espace_total;    /* permettra de traiter les infos */
	
	//on recupere les parametres au format reconnu par le compilateur
    const char *lecteur = (*env)->GetStringUTFChars(env, chaine1, 0);

	GetDiskFreeSpace(lecteur,&Secteurs_Par_Cluster,&Bytes_Par_Secteurs,&Cluster_libre,&Total_Cluster);

	espace_libre = (((Cluster_libre * Secteurs_Par_Cluster)/1024)*Bytes_Par_Secteurs)/1024;
	espace_total = (((Total_Cluster * Secteurs_Par_Cluster)/1024)*Bytes_Par_Secteurs)/1024;
	espace_utilise = espace_total - espace_libre;
    
    
    //on renvoie le resultat
    return espace_libre;
}

Kdo

Bon en lisant le tuto tu comprendra les declaration est les adaptation des parametres..mais dans l ensemble je te le dit c est tres simple...juste plein de fichier partout...

Apres tu te fait une applet java qui appelera ta classe java qui regroupe toutes les fonction JNI....

bon courage...
0