Как задавать в Java собственные входные параметры
Компилирую проект в JAR, запускаю в командной строке как
java -jar GetInfoFile.jar
А как заставить принимать jar собственные внешние параметры/ключи? т.е. к примеру, приложение у меня ищет файлы в определенной папке, но папку я заранее не знаю. Я передаю имя папки ключем --folder "С:\Users\folder" и приложение выполняет мой код, в соответствии с переданным ему ключем. т.е. так:
java -jar GetInfoFile.jar --folder "С:\Users\folder"
Когда жестко прописываю путь, все работает, но хочется "универсальности".
Ответы (1 шт):
Автор решения: Alexey R.
→ Ссылка
Попробуйте так (пример просто проверяет наличие файла или каталога):
public class TestParameter {
public static void main(String[] args) {
if(args.length < 2){
System.err.println("You should provide 2 arguments");
System.exit(-1);
}
switch(args[0]){
case "--folder": System.out.println(testFileOrFolder(args[1], true)); break;
case "--file": System.out.println(testFileOrFolder(args[1], false)); break;
default: System.err.println("Unknown argument: " + args[0]); System.exit(-1);
}
}
private static boolean testFileOrFolder(String path, boolean isFolder){
File target = new File(path);
if(target.exists()){
if(isFolder && !target.isDirectory()){
return false;
}
return true;
}
return false;
}
}