IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Intégration d'une classe qui permet le tri des noms de dossier par date de création


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 88
    Par défaut Intégration d'une classe qui permet le tri des noms de dossier par date de création
    Bonjour,

    Dans mon code principal, utilisé pour un appareillage, je liste le contenu d'un répertoire. Je souhaiterais adapter le code ci-dessous à mon script plus bas.
    Je n'arrive pas à mes fins tout seul.

    Le code est sous Java ETK1.4.5 (il ne m'est pas possible de changer cette version)

    Voici le code qui me permettrais de lister par date de création:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    File directory = new File("c:\\books\\");
       File[] files = directory.listFiles();
       Arrays.sort(files, new Comparator() {
         public int compare(Object o1, Object o2) {
           File a1=(File)o1;
           File a2=(File)o2;
           if (a1.lastModified() < a2.lastModified())
              return -1;
           else if (a1.lastModified() > a2.lastModified())
             return 1;
           else
             return 0;
           }
        });

    Voici mon code actuel fonctionnel qui me permet de lister le contenu d'un repertoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    import com.ewon.ewonitf.EvtWebFormListener;
    import java.io.PrintStream;
    import java.util.Date;
    import java.util.Enumeration;
    import javax.microedition.io.Connector;
    import javax.microedition.io.file.FileConnection;
     
     
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    /**
     * https://stackoverflow.com/questions/72185256/java-1-4-sort-files-recent-latest
     * @author eWonSupport_Adm
     */
    public class MyWebFormListener extends EvtWebFormListener 
    {
     
        public void callForm(String FormName) 
        {      
             PrintStream ps = new PrintStream(this);
     
             setWebHeader("text/plain");
     
            //  List File
             if ("list".equals(FormName)) 
             {             
                try
                {
                   String FileConnStr = "file:///" + getWebVar("directory","/");
     
                   String directoryStr=getWebVar("directory","");
                   ps.println("directoryStr: "+directoryStr);
     
                   FileConnection fc =  (FileConnection) Connector.open(FileConnStr);
                   if (fc.exists() && fc.isDirectory())
                   {
                       Enumeration x = fc.list();
                       FileConnection fc1 = null;
                       String sz_list = "";
     
                       String orderStr = getWebVar("order","");
                       String typeStr = getWebVar("type","");
                       String lineBreakStr = getWebVar("lineBreak","");
     
                       while(x.hasMoreElements())
                       {
                           String item =  x.nextElement().toString();
                           fc1 =  (FileConnection) Connector.open(FileConnStr+ "/" + item);
                           // http://192.168.0.10/rcgi.bin/jvmForm?formName=list&type=file&lineBreak=yes&order=ascending&directory=/usr
     
                           // list file
                           if ("file".equals(typeStr))
                           {
                        	   if (!fc1.isDirectory())  
                        	   {
                        		   if ("yes".equals(lineBreakStr))
                        		   {
                        			   sz_list += "/" + item+ "\n";
                        		   }
                        		   else
                        			   sz_list += "/" + item + ";";
                        	   }
                           }
     
                           // http://192.168.0.10/rcgi.bin/jvmForm?formName=list&type=dir&lineBreak=yes&order=ascending&directory=/usr
     
                           // list dir
                           if ("dir".equals(typeStr))
                           {
                        	   if (fc1.isDirectory())  
                        	   {
                        		   if ("yes".equals(lineBreakStr))
                        		   {
                        			   sz_list += "/" + item+ "\n";
                        		   }
                        		   else
                        			   sz_list += "/" + item + ";";
                        	   }
                       }
                       ps.print((sz_list));
                   }
                   else
                       ps.print("DIRECTORY DOES NOT EXIST");
              }
              catch(Exception ex)
              {
                  System.out.println("size Command Error: " + ex.getMessage());
                  ps.print("list Command Error");
              }  
            }
        }
    }

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 909
    Billets dans le blog
    54
    Par défaut
    Et donc ta question est ?
    Paske bon on a en bloc 1 un code qui tape dans le système de fichier local et en bloc 2 un code qui semble faire une requête web (meme si elle s’exécute peut-être en local) ?

    Visiblement dans le second bloc de code tu stockes les noms des dossiers dans une chaîne de caractères que tu imprimes après avoir parcouru ton enumeration. Si la web API (?) que tu utilises ne permet pas de faire un filtrage préliminaire directement sur la date de creation afin d'obtenir une enumeration déjà triee ("order=ascending" trie sur quoi ? le nom ? Est-ce meme utilise ici ?), il va falloir te créer une liste intermediate contenant a la fois le nom du repertoire et cette info (que tu ne recuperes pas actuellement) et que tu trieras après coup afin de produire la liste triee comme tu le souhaites.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre averti
    Inscrit en
    Mai 2011
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 32
    Par défaut
    MERCI

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/10/2017, 19h40
  2. Réponses: 3
    Dernier message: 02/04/2016, 16h13
  3. Existe-il une macro qui permet de différencier des cellules identiques ?
    Par marion1857 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/04/2013, 16h57
  4. Existe-t-il une classe qui permet d'imprimer ?
    Par Francky44003 dans le forum Débuter
    Réponses: 1
    Dernier message: 04/03/2011, 15h24
  5. Réponses: 1
    Dernier message: 11/02/2008, 17h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo