Problème Main

Résolu
88av Messages postés 381 Statut Membre -  
88av Messages postés 381 Statut Membre -
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. 88av Messages postés 381 Statut Membre 7
     
    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
  2. 88av Messages postés 381 Statut Membre 7
     
    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
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
    2. 88av Messages postés 381 Statut Membre 7
       
      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
  3. DarkenNights Messages postés 157 Statut Membre 12
     
    public static void main(String[] args) {
    
         init();
         start();
    
    }
    
    -1