En passant chemin d'accès du fichier comme un argument en Java

J'ai travaillé avec mise en mémoire tampon un fichier sur mon disque local pour analyser et d'obtenir certaines données. Des fins de test, j'ai été capable de le faire de cette façon:

public static void main(String[] args) {

    fileReader fr = new fileReader();
    getList lists = new getList();


    File CP_file = new File("C:/Users/XYZ/workspace/Customer_Product_info.txt");
    int count = fr.fileSizeInLines(CP_file);
    System.out.println("Total number of lines in the file are: "+count);

    List<String> lines = fr.strReader(CP_file);

    ....

}

}

fileReader.java fichier a la fonction suivante:

public List<String> strReader (File in)
{
    List<String> totLines = new ArrayList<String>();

    try
    {
        BufferedReader br = new BufferedReader(new FileReader(in));
        String line;
        while ((line = br.readLine()) != null)
        {
            totLines.add(line);
        }
        br.close();
    }
    catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    //String result = null;

    return totLines;
}

Maintenant, je veux le chemin d'accès au fichier pour être passé comme Argument de ligne de Commande à la place. J'ai essayé quelques petites choses mais je suis un peu nouveau à cela et n'était pas capable de le faire fonctionner. Quelqu'un peut s'il vous plaît aider et d'expliquer ce que toutes les modifications que je dois faire pour intégrer ce changement dans mon code.

Qu'avez-vous essayer?
J'avais essayé les méthodes mentionnées ci-dessous plus tôt, et il m'a jeté un ArrayIndexOutOfBoundException à la ligne où je suis passiong le Fichier(arg[0])
Cela sonne comme vous exécutez la commande CLI mal. Vous pouvez poster la commande exacte que vous sont en cours d'exécution? Êtes-vous de l'appeler sur un vrai CLI ou êtes-vous l'exécutez à partir d'une autre application (telle que votre IDE)?
Tout comme @Konstantin Narychkine a dit, comment utilisez-vous des arguments de ligne de commande ? quelque chose comme: java MainClass "C:/Users/XYZ/workspace/Customer_Product_info.txt" ? (Avec MainClass étant le nom de la classe avec votre main)

OriginalL'auteur user3495420 | 2014-04-03