Rechercher : dans
Par :

Déplacement et copie de fichier sous Java

Dernière réponse le 12 aoû 2008 à 12:00:20 Pantxo1986, le 7 aoû 2008 à 10:05:59 
 Signaler ce message aux modérateurs

Bonjour,

Je voudrai savoir comment implanté une adresse d'un répertoire, style C:/Program File, dans une variable en Java?

Configuration: Windows XP
Firefox 2.0.0.16

1

sandul, le 7 aoû 2008 à 10:09:36

Salut Pantxo,

Ta question n'est pas claire... Tu pourrais faire
String folderName = "C:/Program File";
ou bien
File file = new File("C:/Program File");

...

Ca dépend de ce que tu entends par "implanter" :-)
++

Répondre à sandul

2

Pantxo1986, le 7 aoû 2008 à 10:14:48

Salut Sandul,

Ben en faite je voudrais copier un fichier puis déplacé la copie sous un autre répertoire. J'avais pensé a

File fichier = new File ("C:/Program File"); mais sa me parais trop simple lol.

Par contre je voudrai utilisé les variables java.ext.dirs etc qu'on obtient avec getProp().

Répondre à Pantxo1986

3

sandul, le 7 aoû 2008 à 10:36:17

Bon, ce n'est pas sorcier: tu trouves ici http://examples.oreilly.com/jenut/FileCopy.java un exemple qui utilise la manière "classique"; pour une utilisation des packages nio, voir ici un autre exemple: http://today.java.net/pub/a/today/2008/07/03/jsr-203-new-file-apis.html

Maintenant: si tu veux utiliser le path dans java.ext.dir, c'est simple aussi. Prenons le 1er exemple. Tu remarques

File to_file = new File(to_name);

to_name est fourni en tant que paramètre de la ligne de commande de lancement du programme. Il suffit de fournir uniquement le nom du fichier en ligne de commande et de rajouter la path qui t'intéresse, e.g.:
File to_file = new File(System.getProperty("java.ext.dirs") + "/" + to_name);


==> cette simple modification dans le 1er exemple fera l'affaire.

++

Répondre à sandul

4

Pantxo1986, le 7 aoû 2008 à 16:08:05

Tu pourrais m'expliquer la fonction du 'key' ici ? Parce que je t'avoue être perdu.

for (Object key : p.keySet()) {
		System.out.println(key + " ==> " + p.getProperty((String) key));
		}


Merci

Répondre à Pantxo1986

5

Pantxo1986, le 7 aoû 2008 à 17:26:03

En faite je voudrai savoir a quoi correspondent les conditions qu'il y a dans la boucle for

Répondre à Pantxo1986

6

sandul, le 7 aoû 2008 à 17:55:59

Il s'agit d'une boucle for qui signifie ceci:
Pour chaque objet dans l'iterable p.keySet(), de type Object et accessible dans la boucle par le nom "key", exécute le code suivant (l'intérieur de la boucle).

Il est néceessaire d'avoir une classe iterable (et p.keySet() en est une). La syntaxe est nouvelle, elle a été introduite avec le Java 5 ou 6. Du coup le code ne compilera sûrement pas avec Java 1.4 et (si syntaxe introduite en Java 6) il ne compilera pas non plus avec Java 5.

Répondre à sandul

7

Pantxo1986, le 12 aoû 2008 à 11:28:01
  • +1

Salut Sandul,

Dit moi toujours por mon programme es ce que c'est juste si j'écrit ça:

 public void Selection (int vari){
         Properties p = System.getProperties();
         
         switch (vari) {
             //Fichier comm.jar copier et déplacer en C:/Program File/Java/jre/lib/ext
             case 1 :
                 File file_source = new File ("comm/comm.jar");
                 File file_dest = new File ("java.ext.dirs");
                 fichier.copier(file_source, file_dest);
                 if (!fichier.copier(file_source, file_dest))
                     System.out.println("Le fichier ne se copie pas");
                 else
                     fichier.deplacer(file_dest, file_source);

Répondre à Pantxo1986

8

Pantxo1986, le 12 aoû 2008 à 11:30:23

J'ai mis System.getProperties avant le "java.ext.dirs".

Répondre à Pantxo1986

9

 Pantxo1986, le 12 aoû 2008 à 12:00:20

J'ai aussi une classe qui se prénome GroupLayout et qui me met le bordel dans mon code. Je ne peux pa le modifié car il est donner avec l'asistance graphisme de NetBeans.

Répondre à Pantxo1986