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. 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
    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());
          }
      }
    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
    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.
    4. Merci j'ai apris beaucoup de vous .
  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) {
    }
    }
    }
    }
    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
  3. 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
    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...
  4. 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 !
    1. le getFileSystemeView() va ne donner quoi comme objet
      pour le fsv ?
      1. Modérateur
        Utilisation de base :

        FileSystemView fsv = FileSystemView.getFileSystemView();
        for (File f : fsv.getRoots())
            System.out.println(f);