Problème Main

Résolu/Fermé
88av Messages postés 262 Date d'inscription dimanche 3 mars 2013 Statut Membre Dernière intervention 17 avril 2015 - Modifié par pijaku le 12/12/2013 à 10:09
88av Messages postés 262 Date d'inscription dimanche 3 mars 2013 Statut Membre Dernière intervention 17 avril 2015 - 14 déc. 2013 à 12:35
Bonjour,

J'ai un petit problème avec un programme java que je suis entrain de faire, dont voici le code source :


package mise_a_jour_finit;

import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;

        public class MiseAJour extends Applet {
                
         String nomFichier;
         TextArea zoneTexte=new TextArea();
 
         public void init() {
          nomFichier=getParameter("fichier");
          if (nomFichier==null) nomFichier="[http://www.jeu.vv.si/course_sur_circuit/version.txt]";
          setLayout(new BorderLayout());
          add(zoneTexte,BorderLayout.CENTER);
          
         }

         public void start() {
          try {
           URL url=new URL(getCodeBase(),nomFichier);
           InputStream ips=url.openStream();
           BufferedReader in=new BufferedReader(
            new InputStreamReader(ips));
           String ligne;
           
           String version="1000";
           // Changer ce nombre pour changer la version local du logiciel local
           
           
  while ((ligne=in.readLine())!=null)
            // Début ligne
      
            if (version.equals(ligne)){
             System.exit(0);
             }
            
            else{
             Runtime runtime = Runtime.getRuntime();
                Process calculComplexeProcess = runtime.exec(new String[] {"C:/Program Files/Game_Maker8/Projets/Course/execute_site.exe"});
             System.exit(0); 
                         
              };

   System.out.println(ligne);

               // Fin ligne
           in.close();
          } catch (Exception e) {
           zoneTexte.append("\n"+e.toString()+"\n");
           
          } 
         }
 
        }



En faite, le problème, c'est que quand je compile le programme en un jar, je ne peut pas l'éxecuter car il n'y a pas de main. J'ai recherché sur google, et j'ai finit pas trouver qu'il faut que je mette ça :

public static void main(String[] args){

Mais je ne sais pas trop où le mettre dans mon code.
J'ai essayé de rennomer public void init() { en public static void main(String[] args){ , mais quand je fait ça, ça ne marche pas.

Pouvez vous m'aidez s'il vous plait ?

Merci d'avance

Si vous avez un calcul à faire, vous pouvez aller sur mon site web, c'est une calculatrice...

4 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
11 déc. 2013 à 18:21
Ton code est une Applet tu n'as pas besoin d'un main. Par contre il faut préciser le nom de ta classe MiseAJour dans la page HTML qui va héberger l'applet.

Voir https://perso.telecom-paristech.fr/hudry/coursJava/applet/balises.html
1
88av Messages postés 262 Date d'inscription dimanche 3 mars 2013 Statut Membre Dernière intervention 17 avril 2015 7
11 déc. 2013 à 20:48
Bonjour,

J'avais fait ce code à partir d'un copier coller d'un code d'internet que j'ai ( beaucoup ) adapté, et je les crée pour l'utiliser dans un programme sur un ordinateur. Il a-t-il un moyen pour l'utiliser sur l'ordinateur et non sur un site web ?

Merci d'avance
0
88av Messages postés 262 Date d'inscription dimanche 3 mars 2013 Statut Membre Dernière intervention 17 avril 2015 7
13 déc. 2013 à 13:51
Merci DarkenNights, j'ai essayé ce que tu m'a dit, mais ça ne marche pas.


Sinon, j'ai trouvé un autre code :


import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class mise_a_jour
{
    public static void getFile(String host)
    {
        InputStream input = null;
        FileOutputStream writeFile = null;

        try
        {
            URL url = new URL(host);
            URLConnection connection = url.openConnection();
            int fileLength = connection.getContentLength();

            if (fileLength == -1)
            {
                System.out.println("Invalide URL or file.");
                return;
            }

            input = connection.getInputStream();
            String fileName = url.getFile().substring(url.getFile().lastIndexOf('/') + 1);
            writeFile = new FileOutputStream(fileName);
            byte[] buffer = new byte[1024];
            int read;

            while ((read = input.read(buffer)) > 0)
                writeFile.write(buffer, 0, read);
            writeFile.flush();
        }
        catch (IOException e)
        {
            System.out.println("Error while trying to download the file.");
            e.printStackTrace();
        }
        finally
        {
            try
            {
                writeFile.close();
                input.close();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args)
    {
        if (args.length != 1)
        {
            System.out.println("You must give the URL of the file to download.");
            return;
        }

        getFile(args[0]);
    }
}



mais je ne sais pas ou il faut mettre l'url du fichier à télécharger.
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
13 déc. 2013 à 18:16
Programmer en Java ce n'est pas faire des copier coller d'autres programmes pris à droite à gauche. Si tu ne comprends pas ce que tu copies ça ne sert à rien... Prends toi un cours sur internet et apprends à programmer ce sera plus efficace !

Ici ton host est dans l'args[0] tu dois donc le passer en paramètre lors de l'appel du programme.
java mise_a_jour https://www.commentcamarche.net/ 
0
88av Messages postés 262 Date d'inscription dimanche 3 mars 2013 Statut Membre Dernière intervention 17 avril 2015 7
14 déc. 2013 à 12:35
Je sais, j'ai essayé de prendre des cours sur Internet, mais je ne comprend pas tout.

Sinon, j'ai essayé de le passer en paramètre, et ça marche !

Merci.
0
DarkenNights Messages postés 134 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 17 décembre 2013 10
Modifié par pijaku le 13/12/2013 à 14:07
public static void main(String[] args) {

     init();
     start();

}
-1