Java utilisation de la methode getRoots

Résolu
Bonjour,

s'ill vous plait pouvez vous me donner un exemple comment utiliser la methode public File[] getRoots()
je suis bloqué :(

8 réponses

  1. Modérateur
    Utilisation de base :

    FileSystemView fsv = FileSystemView.getFileSystemView();
    for (File f : fsv.getRoots())
        System.out.println(f);
    0
    1. le getFileSystemeView() va ne donner quoi comme objet
      pour le fsv ?
      0
      1. Modérateur
        Il n'existe qu'un seul objet pour cette classe puisqu'elle dépend du système, c'est pour ça que la méthode getFileSystemView est static.
        0
        1. donc elle appartient tjr a FILE ?
          0
          1. Modérateur
            Si je mets des liens c'est pour qu'on clique dessus tu ne crois pas ?
            En plus j'ai mis un code d'exemple, où l'on voit bien qu'il s'agit de la classe FileSystemView !
            0
            1. bon j'ai bien utilisé cette methose mais c'est ce que je voulez puisque elle me retourne pas seulement les disque disponible alors que moi ce qu'il me faut c'est seulement les lecteurs disponible . en plus je pence pas que l'utilisation des swing est bonne a ce stage puisque je suis qu'un debutant (etudiant ) .
              Merci en tout cas
              0
              1. Modérateur
                Ce n'est pas parce qu'une classe appartient au package java.swing que programmer avec cette méthode c'est faire du Java Swing, ici il n'y a pas d'affichage graphique ni rien...
                0
            2. bon voila un code mais ce que je veu c'est eliminé test.txt

              import java.io.File;

              public class Main {
              public static void main(String[] args) {
              //Création de l'objet File
              File f = new File("test.txt");

              System.out.println("Affichage des lecteurs à la racine du PC : ");
              for(File file : f.listRoots())
              {
              System.out.println(file.getAbsolutePath());
              System.out.println(file.getTotalSpace());
              System.out.println(file.getFreeSpace());
              System.out.println(file.getUsableSpace());

              try {

              System.out.println("\n");
              }

              catch (NullPointerException e) {
              }
              }
              }
              }
              0
              1. Modérateur
                C'est très facile d'éliminer "test.txt", la méthode listRoots est static, donc il est inutile (et faux) de créer un objet pour l'appeler :

                for (File root : File.listRoots())

                Remarque : il n'y a aucun intérêt à mettre un try catch autour de System.out.println
                0
            3. merci beaaaaaaaaaucoup KX . PROBLEME resolu . la derniere chose et tu m'entend pas parler :D c'est seul comment avoir la taiile de la Ram ainssi son espace disponible
              0
              1. Modérateur
                Pour la mémoire vive ça va dépendre beaucoup de ton installation Java, je ne suis pas sûr que cela fonctionne sous Windows, mais tu as getTotalPhysicalMemorySize()

                import java.lang.management.ManagementFactory;
                import com.sun.management.OperatingSystemMXBean;
                
                public class Test
                {
                    public static void main(String...args) 
                    {
                        OperatingSystemMXBean bean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
                        System.out.println(bean.getTotalPhysicalMemorySize());
                    }
                }
                0
              2. ca depend du SE .aussi je pence ?
                sous windows sa marche mais je pence c'est la memoire totale je vais testé sous ubuntu
                Merci
                0
              3. Modérateur
                Ça ne dépend pas vraiment du système mais plutôt des bibliothèques complémentaires, selon si elles sont accessibles ou non.
                En regardant la documentation tu verras qu'il y a aussi getFreePhysicalMemorySpace qui fonctionne de la même manière.
                0
              4. Merci j'ai apris beaucoup de vous .
                0