2010-02-06 5 views
0

Je ne peux pas faire la différence entre ces phrases! Pourriez-vous s'il vous plaît écrire un code d'extrait pour ces phrases? merciargument commande_line

  • Le programme recevra un chemin d'accès à un répertoire en tant que premier argument de ligne de commande.
  • Le programme recevra un chemin d'accès à un fichier en tant que deuxième argument de ligne de commande.
+0

Nous avons une classe Path dans JDK 7 mais comment faire pour que mon programme reçoive un chemin vers un fichier? – Johanna

+0

Que voulez-vous dire par "recevoir un chemin d'accès à un fichier"? En général, pourriez-vous clarifier votre problème (et s'il s'agit de devoirs, indiquez l'exercice). – AndiDog

Répondre

1

Il est aussi simple que cela:

public static void main(String[] args) 
{ 
    // args[0] is the directory path 
    // args[1] is the file path 
} 

Alors, que tu ne comprends pas?

+0

quelle est la différence entre leurs codes? par exemple. Fichier fichier = nouveau Fichier (args [0]) c'est pour le chemin du répertoire, qu'en est-il du chemin du fichier? – Johanna

+0

La classe 'File' peut représenter les noms de chemin de tout type de fichier (par exemple, des fichiers ou des répertoires normaux). La différence est, pour un répertoire, 'File (...). List()' vous donnera une liste de fichiers contenus. Voir la documentation à http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html – AndiDog

+0

merci, je reçois le tout! – Johanna

0

Cela signifie que le programme sera exécuté comme ceci:

java some.package.YourProgram /some/directory /some/file/name 
1

Imaginez un programme de copie de ligne de commande que vous utilisez comme ça:

copy <destination-dir> <source-file> 

Une implémentation simple en Java serait (fourni comme un fragment):

package com.example; 
import java.io.File; 
public class Copy { 

    public static void main(String[] args) { 

    if (args.length != 2) { 
     exitWithErrorCode(); // to be implemented 
    } 

    File destinationDir = new File(args[0]); 
    File sourceFile = new File(args[1]); 

    copyFileToDir(sourceFile, destinationDir); 
    } 

    private static void copyFileToDir(File sourceFile, File destDir) { 
    // to be implemented 
    } 
} 

et vous appelleriez comme

java com.example.Copy /tmp /home/me/example.txt 
+0

qu'est-ce que la classe copyFileToDir serait-elle? – Johanna

+0

C'est une méthode - a changé l'exemple de code pour le rendre plus clair. –