Problème Main

Résolu
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

  1. 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
    1. public static void main(String[] args) {
      
           init();
           start();
      
      }
      
      1. 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.
        1. Modérateur
          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/ 
        2. 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.