2017-10-16 4 views
0

J'ai un dossier main avec de nombreux sous-dossiers comme celui-ciJava Chemin obtenir la dernière ID de dossier

1 
2 
4 
7 
10 

Je voudrais obtenir l'ID du dernier dossier dans la collection. Dans ce cas, le dossier "10". Comment puis-je faire cela dans Java 8?

+0

Que voulez-vous dire avec 'dernier dossier'? Celui qui dans l'ordre naturel est le dernier ou celui qui a été modifié la dernière fois (il peut y avoir des différences basées sur le système d'exploitation lorsque l'horodatage du répertoire est mis à jour). – SubOptimal

+0

Ou le plus récent créé? Ou celui avec la plus grande valeur quand les noms sont interprétés comme des nombres? Ou pas interprété comme des chiffres? – EJP

+0

"celui avec la valeur la plus élevée lorsque les noms sont interprétés comme des nombres" Celui-là – isADon

Répondre

0

Vous pouvez trier les dossiers par date de dernière modification comme:

public static String lastFolder() throws IOException { 

     Stream<Path> dirList = Files.list(Paths.get("your_directoy_ath")).sorted(new Comparator<Path>() { 
      @Override 
      public int compare(Path path1, Path path2) { 
       Long file1Name = path1.toFile().lastModified(); 
       Long file2Name = path2.toFile().lastModified(); 
       return file2Name.compareTo(file1Name); 

      } 
     }); 

     return dirList.collect(Collectors.toList()).get(0).getFileName().toString(); 
    } 

Vous pouvez modifier la méthode de tri selon vos besoins, si vous avez besoin de name..can faire aussi