Java utilisation de la methode getRoots

Résolu/Fermé
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
- 27 avril 2012 à 20:18
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
- 28 avril 2012 à 17:03
Bonjour,

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

8 réponses

KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
2 972
27 avril 2012 à 20:23
Utilisation de base :

FileSystemView fsv = FileSystemView.getFileSystemView();
for (File f : fsv.getRoots())
    System.out.println(f);
0
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
4
27 avril 2012 à 20:27
le getFileSystemeView() va ne donner quoi comme objet
pour le fsv ?
0
KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
2 972
27 avril 2012 à 20:31
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
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
4
27 avril 2012 à 20:34
donc elle appartient tjr a FILE ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
2 972
27 avril 2012 à 20:52
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
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
4
28 avril 2012 à 11:07
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
KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
2 972
28 avril 2012 à 13:07
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
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
4
28 avril 2012 à 11:20
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
KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
2 972
28 avril 2012 à 13:10
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
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
4
28 avril 2012 à 13:50
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
KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
2 972
28 avril 2012 à 14:25
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
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
4
28 avril 2012 à 14:54
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
KX
Messages postés
16584
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 août 2022
2 972
Modifié par KX le 28/04/2012 à 15:06
Ç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
fouzou11
Messages postés
139
Date d'inscription
mardi 21 juin 2011
Statut
Membre
Dernière intervention
4 août 2016
4
28 avril 2012 à 17:03
Merci j'ai apris beaucoup de vous .
0