J'essaie d'exécuter un programme Java à partir de la ligne de commande sous Windows. Voici mon code:
import Java.io.File;
import Java.io.FileInputStream;
import Java.io.FileOutputStream;
import Java.io.IOException;
import Java.io.InputStream;
import Java.io.OutputStream;
public class CopyFile
{
public static void main(String[] args)
{
InputStream inStream = null;
OutputStream outStream = null;
try
{
File afile = new File("input.txt");
File bfile = new File("inputCopy.txt");
inStream = new FileInputStream(afile);
outStream = new FileOutputStream(bfile);
byte[] buffer = new byte[1024];
int length;
// copy the file content in bytes
while ((length = inStream.read(buffer)) > 0)
{
outStream.write(buffer, 0, length);
}
inStream.close();
outStream.close();
System.out.println("File is copied successful!");
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Je ne sais pas comment exécuter le programme - aucune aide? Est-ce possible sous Windows? Pourquoi est-ce différent d'un autre environnement (je pensais que JVM était écrit une fois, exécuté n'importe où)?
Source: javaindos.
Disons que votre fichier est dans C:\mywork \
Exécuter l'invite de commande
C:\> cd \mywork
Cela fait de C:\mywork le répertoire actuel.
C:\mywork> dir
Ceci affiche le contenu du répertoire. Tu devrais voir filenamehere.Java parmi les fichiers.
C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin
Cela indique au système où trouver les programmes JDK.
C:\mywork> javac filenamehere.Java
Cela exécute javac.exe, le compilateur. Vous ne devriez voir que le prochain système invite ...
C:\mywork> dir
javac a créé le fichier filenamehere.class. Tu devrais voir filenamehere.Java et filenamehere.class parmi les fichiers.
C:\mywork> Java filenamehere
Ceci exécute l'interpréteur Java. Vous devriez alors voir votre programme sortie.
Si le système ne peut pas trouver javac, vérifiez la commande set path. Si javac fonctionne mais vous obtenez des erreurs, vérifiez votre texte Java. Si le programme compile mais vous obtenez une exception, vérifiez l’orthographe et majuscule dans le nom du fichier et le nom de la classe et le Java Commande HelloWorld. Java est sensible à la casse!
Pour compléter la réponse:
Le fichier Java
TheJavaFile.Java
Compilez le fichier Java dans un fichier * .class
javac TheJavaFile.Java
TheJavaFile.class
Exécution du fichier Java
Java TheJavaFile
Création d'un fichier exécutable *.jar
Vous avez deux options ici -
Avec un fichier manifeste externe:
Créez le fichier manifeste say - MANIFEST.mf
Le fichier MANIFEST n'est rien d'autre qu'une entrée explicite de la classe principale
jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class
Exécutable par Point d'entrée:
jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
Pour exécuter le fichier Jar
Java -jar TheJavaFile.jar
Si votre classe Java est dans un package. Supposons que votre classe Java nommée ABC.Java
soit présente dans com.hello.programs
, vous devez alors l'exécuter avec le nom du package.
Compilez-le de la manière habituelle:
C:\SimpleJavaProject\src\com\hello\programs > javac ABC.Java
Mais pour l’exécuter, vous devez donner le nom du paquet puis votre nom de classe Java:
C:\SimpleJavaProject\src > Java com.hello.programs.ABC
Compile un fichier Java pour générer une classe:
javac filename.Java
Execute la classe générée:
Java filename
C'est facile. Si vous avez enregistré votre fichier sous A.text, vous devez tout d’abord le sauvegarder sous A.Java. Maintenant, c'est un fichier Java.
Maintenant, vous devez ouvrir cmd et définir le chemin d'accès à votre fichier A.Java avant de le compiler. vous pouvez vous référer ceci pour cela.
Ensuite, vous pouvez compiler votre fichier en utilisant la commande
javac A.Java
Puis lancez-le avec
Java A
C'est ainsi que vous compilez et exécutez un programme Java dans cmd . Vous pouvez également consulter ces matériel qui constituent des leçons Java approfondies. Beaucoup de choses que vous devez comprendre en Java sont couvertes pour les débutants.
Vous pouvez compiler n’importe quelle source Java en utilisant javac en ligne de commande; Par exemple, javac CopyFile.Java . Pour exécuter: Java CopyFile . Vous pouvez également compiler tous les fichiers Java à l'aide de javac * .Java tant qu'ils se trouvent dans le même répertoire.
Si vous rencontrez un problème résultant de "impossible de trouver ou de charger la classe principale", il est possible que Jre ne se trouve pas dans votre chemin. Regardez cette question: Impossible de trouver ou de charger la classe principale
En supposant que le fichier s'appelle "CopyFile.Java", procédez comme suit:
javac CopyFile.Java
java -cp . CopyFile
La première ligne compile le code source en code d'octet exécutable. La deuxième ligne l'exécute en ajoutant d'abord le répertoire en cours au chemin de classe (au cas où).
Sur Windows 7, je devais faire ce qui suit:
façon rapide
long chemin
Cela se produit probablement lorsque vous mettez à niveau votre installation JDK, mais vous avez maintenant accès à tous les outils de ligne de commande.
Suivez les commentaires ci-dessus sur la manière de compiler le fichier ("javac MonFichier.Java", puis "Java MonFichier") https://stackoverflow.com/a/33149828/194872
ÉTAPE 1: Ouvrez d’abord l’invite de commande où votre fichier IS est situé. (clic droit en appuyant sur shift)
ÉTAPE 2: ALORS, UTILISEZ LES COMMANDES SUIVANTES POUR EXÉCUTER . (Disons que le nom du fichier et de la classe à exécuter s'appelle Student.Java). Le programme d'exemple est dans le fond de l'image.
javac Student.Java
Java Student
A partir de Java 9, le JDK inclut jshell
, un Java REPL.
En supposant que le répertoire JDK 9+ bin
soit correctement ajouté à votre chemin, vous pourrez simplement:
jshell File.Java
- File.Java
étant votre fichier bien sûr. main
: jshell> File.main(null)
./exit
Une documentation complète sur JShell peut être trouvée ici .
Depuis Java 11, l'outil de ligne de commande Java
a été capable d'exécuter directement un code source à fichier unique. par exemple.
Java HelloWorld.Java
Il s’agissait d’une amélioration avec JEP 330: https://openjdk.Java.net/jeps/330
Pour plus d'informations sur l'utilisation et les limitations, consultez le manuel de votre implémentation Java, tel que celui fourni par Oracle: https://docs.Oracle.com/en/Java/javase/11/tools/Java.html
Maintenant (à partir de JDK 9), vous pouvez simplement utiliser Java pour l'exécuter. Pour exécuter "Hello.Java" contenant le fichier principal, on peut utiliser: Java Hello.Java
Vous n'avez plus besoin de compiler en utilisant séparément en utilisant javac.