JavaRush/Java блог/Архив info.javarush/Метод main. Как передать в параметрах main() имена файлов...
Miller777
21 уровень

Метод main. Как передать в параметрах main() имена файлов?

Статья из группы Архив info.javarush
участников
Встретилось в одном из заданий (не на Javarush): Есть задание - небольшая программа на Java. Одно из условий:запуск приложения через public static void main(String[] args), args[] параметра: файл входных данных, файл для записи ответа. Не могу сообразить, как в args[] передать имена файлов: input.txt, jutput.txt. Подскажите, пожалуйста, если можно - на примере.
Комментарии (9)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Victor Zav
Уровень 33
5 июня 2023, 05:23
для лентяев 😎 class OtherClass { public static void main(String[] args) { String[] newArgs = {"/Users/user/dir_/fileIn", "/Users/user/dir_/fileOut"}; try { SmallJavaProgram.main(newArgs); } catch (IOException e) { e.printStackTrace(); } } }
6 февраля 2020, 12:48
спасибо, брат)
9 мая 2019, 12:19
Или Shift+Alt+F10 -> выбрать class -> edit
timurnav
Уровень 21
24 августа 2015, 09:24
как вариант велосипеда, можно создать другой метод main() и вызывать в нем тот метод, в который тебе нужно передавать параметры :)
Miller777
Уровень 21
23 августа 2015, 18:53
Сам спросил, сам здесь отвечу, мало ли кому пригодится:

Запускаешь через консоль java Test input.txt output.txt, где Test — имя твоего класса.

Если выполняете в ИДЕА, то меню Run -> Edit Configuration -> Application в поле Program Arguments указываете аргументы через пробел.

Потом в main эти параметры получаешь

String fileNameIn = args[0];
String fileNameOut = args[1];

Спасибо за ответы Vovnet, Just, отдельное спасибо Sapphiron с ru.stackoverflow.
Alexey Katachigov Full Stack Developer в https://omegabot.ru
24 сентября 2020, 14:51
Спасибо! Я тут еще, на всякий случай, скриншот приложу.
BRAGO Android Developer
2 октября 2020, 13:32
В данном случае получается параметром является не только значение (-с) но еще и фамилия, пол, дата. Я правильно понимаю? И если это так то параметры данной задачи, что указана в скриншоте, они ведь должны указываться в формате (-с, -d, -u и тд) в соответствии с условием задачи CRUD
Alexey Katachigov Full Stack Developer в https://omegabot.ru
2 октября 2020, 16:36
Да, все верно. У тебя на входе массив данных и твоя задача его распарсить. Если встречаешь -c, -d, -u и т.д. то определяешь их как определенную команду, и далее включаешь соответствующий алгоритм обработки.
BRAGO Android Developer
2 октября 2020, 16:41
Ясненько, благодарю ^_^