IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Sur plusieurs Hostname sur le même réseau, Lecture d'espace disque


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Points : 11
    Points
    11
    Par défaut Sur plusieurs Hostname sur le même réseau, Lecture d'espace disque
    Bonjour,

    j'ai un encore un bug dans mon programme,

    je recherches la méthodes pour que mon programme puisse lire l'espace disque de plusieurs Poste possédant des Hostname différents.

    j'ai pratiquement terminé, il retrouve le Hostname d'un PC qui est connecté à mon réseau mais me donne l'espace libre de mon disque dur.

    Pouvez-vous m'aider à voir plus claire.

    pour le moment mon code n'est pas beau mais j'ai tout commenté pour après le refaire proprement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
     
    public class FreeSpaceDisk {
     
    	public static void main(String[] args) throws IOException , AddressException, MessagingException {
     
     
    	    String hostName = null;
    	    String rslt_totalSpace = null ;
    	    String rslt_freeSpace = null ;
    	    String rslt_Final = "" ;
    	    String rslt_Hostame = "" ;
    	    double stat_Final = 0 ;
    	    String rslt_F = null ;
     
    	    /**
                    * Lecture de HostName computer
                    */
    	  /*  try {
    	    	final InetAddress addr = InetAddress.getLocalHost();
    	    	hostName = new String(addr.getHostName());
    	    } catch(final Exception e) {
    	    }//end try
    	    */
     
     
    	    try {
    	    	final InetAddress addr = InetAddress.getByName("DT-ITI-MON04");
    	    	//hostName = new String(addr.getHostAddress());//pour laisser que l'ip
    	    	hostName = new String(addr.getHostName()); // pour laisser que le nom
    	    	//hostName = new String(addr.getByName("dt-iti"));
    	    } catch(final Exception e) {
    	    }//end try
     
    	    System.out.println("Hostname: " + hostName);
    	    System.out.println("----------------------");
     
    	    List <File>files = Arrays.asList(File.listRoots());
     
    	    for (File f1 : files) {
    	    	String description = FileSystemView.getFileSystemView().getSystemTypeDescription(f1);      
    		/**
                    * Programme Free space
                    */
    			if (f1.exists()) {
     
    				if(description.equals("Local Disk")){
     
    				/**
                                    * Afficher taille au format xx Ko ou xx Mo ou Go
                                    */
    					//capacité de la partition
    					long totalSpace = f1.getTotalSpace();
    			        long size = (long) ( totalSpace/ (1024)) + 1;
    			        if (size > 1024 ) {			        		
    			        	rslt_totalSpace = (size / (1024*1024)) + " Go";			        	
    			        } 			        	
    			        else if (size > 1024) {
    			        		rslt_totalSpace = (size / (1024)) + " Mo";			        	
    			        }			        	
    			        else {			        	
    			        	rslt_totalSpace = size + " ko";			        	
    			        }
     
    			        //Espace disponible			        
    		        	long freeSpace = f1.getFreeSpace();
    		        	long size1 = (long) ( freeSpace/ (1024)) + 1;				
    	        		if (size1 > 1024 ) {					
    	        			rslt_freeSpace = (size1 / (1024*1024)) + " Go";		        
    	        		} 		        
    	        		else if (size1 > 1024) {		        	
    	        			rslt_freeSpace = (size1 / (1024)) + " Mo";		        
    	        		}		        
    	        		else {		        	
    	        			rslt_freeSpace = size1 + " ko";		        
    	        		}
     
    	        		//calcule Statistique disque dur
     
    	        		stat_Final = Double.valueOf(rslt_freeSpace.replaceAll(" Go", ""))/Double.valueOf(rslt_totalSpace.replaceAll(" Go", ""))*100;
     
            		/**
                                    * Conversion 2 chiffres après la virgule
                                    */
    	        		DecimalFormat df = new DecimalFormat("########.00"); 
    	        		rslt_F = (df.format(stat_Final));
     
     
    					//debug
    			        System.out.println("Propriété du fichier        : " + f1);
    			        System.out.println("Taille de l'espace libre    : " + rslt_freeSpace);
    			        System.out.println("Taille de l'espace du disque: " + rslt_totalSpace);
    			        System.out.println("Stat de l'espace du disque  : " + rslt_F+ " " + "%" + "\n");
    				}		
    			}	
    	    }
    	}
    }
    Hicham

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par guapetonito Voir le message

    je recherches la méthodes pour que mon programme puisse lire l'espace disque de plusieurs Poste possédant des Hostname différents.

    j'ai pratiquement terminé,
    Je te trouve vachement optimiste. Tu fais dans ton code tout sauf répondre à ton besoin. Tu affiche les disque locaux, c'est gentils mais ça n'a absolument rien à voir avec les machine distantes, et tu convertis le nom d'une machine en ip, ce qui n'est ni nécessaire, ni n'est prêt de donner l'espace des disques de ces machines.


    Réponse simple: c'est impossible à faire, cette information n'est pas exportée
    Réponse compliquée: voir quels protocoles supportent ces machines (cifs, ftp, ssh, ...) et en fonction de ça déterminer comment tu va extrapoler ces informations. Par exemple, avec du cifs, tu pourrais utiliser jcifs pour te connecter aux partages de ces machines et les lister.

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/04/2009, 15h45
  2. Réponses: 1
    Dernier message: 01/05/2008, 08h26
  3. Executer un code en java sur plusieurs fichiers xml en même temps
    Par med_ellouze dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 12/08/2007, 16h33
  4. Requete sur plusieurs tables contenant les mêmes champs
    Par Louison dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/04/2007, 20h41
  5. [VB.NET] Var globales sur plusieurs projets d'une même solut
    Par boulete dans le forum Windows Forms
    Réponses: 8
    Dernier message: 16/02/2006, 14h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo