Connaître l'espace disque disponible [Java] - Java - Programmation
Marsh Posté le 31-03-2007 à 17:52:40
Effectivement, Java 1.6 offre quelques méthodes permettant de retrouver cette information.
Malheureusement pour moi, je dois me contenter de la 1.5...
A priori, pas de solutions miracles exceptée l'horreur dont je parle dans mon premier post.
Marsh Posté le 31-03-2007 à 18:33:29
qui n'est meme pas une solution, c'est juste n'importe quoi
Marsh Posté le 31-03-2007 à 22:44:18
Programmer en C la fonction puis passer par un appel jni.
Marsh Posté le 01-04-2007 à 12:03:01
Trop dépendant de la plate-forme sur laquelle on est... malheureusement
Pour l'instant, étant donné que mon principal soucis est de savoir si j'ai assez d'espace disque pour répondre à une certaine requête, je tente la création d'un fichier à la taille indiquée par cette requête, et je catch les erreurs. C'est pas très propre, mais ça me permet de régler temporairement la question.
(Parce que je ne vous cache pas qu'une application de backup sur un réseau P2P totalement décentralisé n'est pas des plus simples :-D)
Marsh Posté le 01-04-2007 à 13:46:36
Et à tout a hasard t'es aller voir comment est codé la fonction public long getFreeSpace() de la classe File en java 1.6 ? Ca peut peut être te donner des pistes.
Marsh Posté le 01-04-2007 à 14:39:20
Mmmh, mouais... ^^
Code :
|
fs.getSpace() est abstract, et fs est initialisé via getFileSystem(), malheureusement une méthode interne native...
Marsh Posté le 02-04-2007 à 11:38:54
guybrush02 a écrit : Trop dépendant de la plate-forme sur laquelle on est... malheureusement |
juste pour info, je viens de tomber sur FileSystemUtils.freeSpace() de commons-io, et ils font exactement comme ça, et si t'es pas sous windows ou unix bah ça te pete a la gueule
Marsh Posté le 02-04-2007 à 20:52:38
Pfff.... Ca vaut la peine d'avoir des JVM
Enfin... on fera avec, pas le choix ^^
Je me vois mal faire tourner l'app sur autre chose que du Unix ou w32, de toutes façons ^^
Marsh Posté le 29-03-2007 à 15:05:25
Bonjour,
Dans le cadre d'une application de backup décentralisé, je souhaite pouvoir connaître l'espace disque local disponible.
Cependant, je ne trouve à priori rien dans l'API qui puisse m'aider à connaitre cette quantité. Pire : un des (nombreux) reports effectués auprès de Sun et concernant le sujet indique que, jusqu'il y a peu (sans fournir de nouvelles façons de faire), il était nécessaire de "deviner" l'espace disponible en créant un fichier temporaire de taille variable croissante, jusqu'à la récupération de l'exception adéquate.
Bref, cette façon de faire me semble bien impropre, et je souhaiterai faire appel à votre expérience (séquence lèche :-p) pour pouvoir récupérer cette information.
En vous remerciant d'avance,
Guybrush