9
votes

Exécuter un fichier texte simple comme java

J'ai un simple fichier .txt qui a un code Java pur à l'intérieur, comme xxx

le fichier est nommé c.txt. Maintenant, je veux écrire du code Java qui lira le code de C.txt et compilera et exécutera et exécutera le code de lecture sous forme de fichier Java pur. Remarque, je peux facilement renommer C.txt à C.Java et compiler et exécuter le code manuellement. Cependant, ce n'est pas mon intention. Je veux lire le fichier .txt tel quel et exécuter le code directement. Est-ce possible en quelque sorte?


1 commentaires

Ecrire un script shell fonctionne-t-il pour vous? Ce serait un bon peu plus facile que d'essayer de mettre en œuvre cela en Java.


3 Réponses :


0
votes

Consultez ce fil pour savoir comment démarrer la compile depuis Java ...

Comment définir la source Pour la compilation par un calculateur de compilation


1 commentaires

Merci pour vos réponses. J'ai compris que nous pouvons compiler et fichiers. Mais je voudrais aussi exécuter les fichiers .Class compilés. Comment faire ?



6
votes

Vous pouvez utiliser le forme Javax.Tools forme API Java 6 pour compiler le code à la volée. Cependant, étant donné que votre extension est illégale, elle se plaindre avec une erreur : Les noms de classe C.txt ne sont acceptés que si le traitement de l'annotation est explicitement demandé .

Pour contourner cela (comme mentionné dans les commentaires), vous devez d'abord charger le code dans une chaîne, puis l'exécuter: xxx

remarque comment vous devez fournir explicitement la méthode méthode et Classe pour la réflexion pour exécuter votre code.


1 commentaires

Le javacompiler peut compiler source dans une chaîne . Il existe un exemple dans les Javadocs utilisant JavaSourceFromstring . Je l'utilise dans STBC .



0
votes

Je pense que je commencerais avec Beanshell , qui vous permet de compiler et d'exécuter Java Source tenue dans une chaîne.


0 commentaires