Проверка, находится ли файл в папке И хотите ли создать экземпляр этого файла, если он существует - PullRequest
0 голосов
/ 08 ноября 2019

Итак, я пытаюсь сделать следующее:

  1. Взять пользовательский ввод (который должен быть именем файла) и проверить, существует ли этот файл в моей текущей рабочей папке. ( Мне не нужна помощь здесь, это под контролем)
  2. Если файл существует, я хочу создать экземпляр этого файла. (Я хочу сделать это, чтобы я мог использовать отражения и проверить, является ли файл определенным интерфейсом, и проверить конструктор.

Итак, для тестирования моей программы я создал экземпляр существующего файла, подобного этому:

File tempFile = new File("/CURRENTFOLDER/" + file + ".java");
//with the user input tempFile = Test1.


    if(tempFile.exists()){

        Test1 test1 = new Test1();
        Class<?> test1_class = test1.getClass();

но я действительно хочу сделать что-то вроде этого:

   File tempFile = new File("CURRENTFOLDER" + file + ".java");

    if(tempFile.exists()){

        //Test1 test1 = new Test1();
        //Class<?> test1_class = test1.getClass();

        tempFile instance_of_tempFile = new tempFile();
        Class<?> ? test_class = instance_of_tempFile.getClass();

Я знаю вы не можете написать tempFile instance_of_tempFile = new tempFile();, но просто включенычтобы ты понял, что я пытаюсь сделать.

1 Ответ

1 голос
/ 08 ноября 2019

На самом деле это возможно при использовании ClassLoader

По сути, вам нужно реализовать Class Loader с необходимой вам функциональностью, тогда вы сможете создать экземпляр класса по файлу.

Вот краткое описание

Этот пример также может быть полезен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...