【发布时间】:2016-09-22 05:28:51
【问题描述】:
所以我在读取通过命令行传递到我的程序中的文件时遇到问题。所以,我的程序叫做 printFile。我执行以下操作:
java printFile text1.txt
在我的主要,我有:
try{
Scanner scan=new Scanner(args[0]);
while(scan.hasNextLine())
{
System.out.println(scan.nextLine());
}
}
catch(IOException e)
{
e.printStackTrace();
}
如何正确获取命令行传入的文件?
【问题讨论】:
-
您通过
args[0]获取文件名。但是您应该阅读Javadoc 来了解Scanner构造函数的作用:它标记字符串本身;它不会将其视为文件名。 -
那么我如何读取 args[0] 中的文件中的文本?如,我将如何仅从 args[0] 获取文件路径?但我明白你在说什么。
-
你可以创建一个
FileInputStream。 -
是否可以像这样创建一个新文件:'File nFile=new File(args[0])' 然后创建一个新的扫描仪对象,例如:'Scanner scan=new Scanner(nFile.getPath ())' ?还是只是:'scan=new Scanner(args[0].getPath())'?
-
何不试试呢? :)