【发布时间】:2015-11-22 11:31:13
【问题描述】:
我在从命令行读取文件时遇到了一些问题。 我以前从未使用过命令行参数,所以我想我有点迷路了。 到目前为止,这是我正在尝试的:
FileInputStream fin1 = null;
for (int i = 0; i < args.length; i++) //command line argument for file input
{
fin1 = new FileInputStream(args[i]);
}
//Scanner scan = new Scanner(fiin1);
我已经注释掉了我的扫描仪,因为我使用了不同的方法(我将 fin1 作为参数传入其中)并且该方法中有一个扫描仪。但是,我不太确定我是否仍然需要那里的扫描仪(也许作为参数传递给其他方法)。
无论如何,如果我运行我的代码,我会得到一个 NullPointerException,我认为这是因为我将 FileInputStream 初始化为 null。但是如果我在 for 循环中改变它,那有什么关系呢? 另外,我需要保持我的 main 方法原样,以便我可以在其中做更多事情。
谁能帮忙?
【问题讨论】:
-
您正在分配使用传递给程序的最后一个参数创建的 FileInputStream。在我看来,您可能根本没有传递任何参数,因此 for 循环中的语句永远不会执行。请使用您传递给程序的参数更新问题。
标签: java command-line-arguments fileinputstream