Чтобы запустить код Java, который хранится в текстовом файле, вы можете использовать класс ScriptEngine из пакета javax.script. Этот класс позволяет выполнять код, написанный на различных языках сценариев, включая JavaScript. Вот пример кода, который показывает, как это можно сделать: import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import java.nio.file.Files;
import java.nio.file.Paths;
public class RunCodeFromFile {
public static void main(String[] args) throws Exception {
// Создаем ScriptEngineManager
ScriptEngineManager manager = new ScriptEngineManager();
// Получаем ScriptEngine для JavaScript
ScriptEngine engine = manager.getEngineByName("JavaScript");
// Читаем содержимое файла с кодом
String code = new String(Files.readAllBytes(Paths.get("code.txt")));
// Выполняем код
engine.eval(code);
}
}
В этом примере мы создаем экземпляр ScriptEngineManager, затем получаем ScriptEngine для JavaScript и читаем содержимое файла с кодом. Затем мы выполняем код с помощью метода eval у ScriptEngine. Обратите внимание, что этот пример использует JavaScript, а не Java. Если вы хотите запустить код Java, вам нужно использовать другой способ, например, компилировать и загружать классы во время выполнения.
Чтобы скомпилировать и загрузить классы во время выполнения, можно использовать следующие шаги:
1. Скомпилировать исходники в Bytecode (файлы .class).
2. Загрузить скомпилированные классы в ClassLoader.
3. Использовать reflection api для получения методов и выполнения их.
Вы можете использовать URLClassLoader для загрузки скомпилированных классов. Этот класс позволяет загружать классы из определенного каталога или архива. Однако, чтобы использовать этот метод, вам необходимо знать имя класса или структуру пакета.