使用Windows cmd中的参数启动java应用程序?

时间:2015-10-26 18:00:26

标签: java windows parameters cmd

我很抱歉,但我不会说英语.. :)

当我想从windows cmd启动java项目时,我会这样做:

javac main.java(main =我的文件名称)

然后:java main

但如果我使用参数,我该怎么办?

我尝试过:java main parameters但这并不好。

有你的想法吗?

非常感谢你的帮助:))

Image

这里有代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import elements.*;

public class Main
{
    public static void main(String[] parameters)
    {
        try
        {
            String nameFile = parameters[0];
            FileInputStream fileInputStream = new FileInputStream(new File(nameFile));
            Processing processing = new Processing();
            processing.read(fileInputStream);
            try 
            {
                fileInputStream.close();
            } 
            catch (IOException exception) 
            {
                System.out.println("Une erreur s'est produite lors de la fermeture de l'InputStream");
            }
        }
        catch(FileNotFoundException exeption)
        {
            System.out.println("Le nom de fichier placé en paramètre est incorrect");
        }
    }
}

问题是第14行:String nameFile = parameters[0];

2 个答案:

答案 0 :(得分:0)

所以看起来你能够读取参数,但是你得到的是FileNotFoundException。你正在阅读文件的方式,exercice4.txt应该出现在你的src文件夹中,否则你当前的代码将无法读取它。要么传递文件的完整路径,要么更新代码

答案 1 :(得分:0)

嗯,代码似乎是正确的,但是肯定它不会起作用,因为该文件不在您运行N>10命令的目录中。尝试运行

java blah blah

顺便说一句,这种问题通常很容易通过一些打印语句进行调试,例如:

java Main ..\exercice4.txt

当存在异常时,显示异常堆栈跟踪也很有用,例如:

String nameFile = parameters[0];
System.out.println("Trying to open file "+nameFile);
FileInputStream fileInputStream = new FileInputStream(new File(nameFile));