如何接受文件的命令行参数

时间:2019-11-26 00:41:07

标签: java

 public static void main(String[] args) throws FileNotFoundException  {


        File inputFile = null;
        File outputFile = null;


        if (args.length > 0) {
            String inputName = args[0];
            String outputName = args[1];
            inputFile = new File(inputName);
            outputFile = new File(outputName);
        }else{
            Scanner input = new Scanner(System.in);
            inputFile = new File(input.next());
            outputFile = new File(input.next());
        }

 }

这是我的代码,应该检查命令行参数中的文件名,但是如果没有,它将让用户键入名称。但是我如何获取它以抛出未找到的文件异常?我感谢您的帮助

1 个答案:

答案 0 :(得分:0)

最好使用java.nio.file.Path,而不是较旧的File类。 java.nio.file.Files有很多Paths的实用方法。

您可以检查文件是否存在,然后抛出自己的FileNotFoundException

Path path = Path.of(filename);
if (!Files.exists(path)) throw new FileNotFoundException(path.toString());

或者,您可以生成一个NoSuchFileException

path.getFileSystem().provider().checkAccess(path);