Java utilisation de la methode getRoots

Résolu
fouzou11 Messages postés 157 Statut Membre -  
fouzou11 Messages postés 157 Statut Membre -
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. KX Messages postés 19031 Statut Modérateur 3 020
     
    Utilisation de base :

    FileSystemView fsv = FileSystemView.getFileSystemView();
    for (File f : fsv.getRoots())
        System.out.println(f);
    0
  2. fouzou11 Messages postés 157 Statut Membre 4
     
    le getFileSystemeView() va ne donner quoi comme objet
    pour le fsv ?
    0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
  4. fouzou11 Messages postés 157 Statut Membre 4
     
    donc elle appartient tjr a FILE ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
  7. fouzou11 Messages postés 157 Statut Membre 4
     
    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. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
  8. fouzou11 Messages postés 157 Statut Membre 4
     
    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. KX Messages postés 19031 Statut Modérateur 3 020
       
      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
  9. fouzou11 Messages postés 157 Statut Membre 4
     
    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. KX Messages postés 19031 Statut Modérateur 3 020
       
      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. fouzou11 Messages postés 157 Statut Membre 4
       
      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. KX Messages postés 19031 Statut Modérateur 3 020
       
      Ç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. fouzou11 Messages postés 157 Statut Membre 4
       
      Merci j'ai apris beaucoup de vous .
      0