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

  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 904
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : Nouvelle-Cal�donie

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

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 6 904
    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

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