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