Ich versuche, ein Java-Programm über die Befehlszeile in Windows auszuführen. Hier ist mein 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();
}
}
}
Ich bin nicht sicher, wie ich das Programm ausführen soll - Hilfe? Ist das unter Windows möglich? Warum unterscheidet es sich von einer anderen Umgebung (ich dachte, JVM wurde einmal geschrieben und überall ausgeführt)?
javac CopyFile.java
und dannjava CopyFile
CopyFile
sichAntworten:
Quelle: Javaindos.
quelle
.class
Datei in die entsprechende Verzeichnisstruktur einfügen. Das aktuelle Verzeichnis ist der Standardklassenpfad, sodass Sie es nicht-cp .
manuell festlegen müssen.Um die Antwort zu vervollständigen:
Die Java-Datei
Kompilieren Sie die Java-Datei in eine * .class-Datei
TheJavaFile.class
Datei erstelltAusführung der Java-Datei
Erstellung einer ausführbaren
*.jar
DateiSie haben hier zwei Möglichkeiten -
Mit einer externen Manifestdatei:
Erstellen Sie die Manifestdatei say - MANIFEST.mf
Die MANIFEST-Datei ist nichts anderes als ein expliziter Eintrag der Hauptklasse
jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class
Ausführbar nach Einstiegspunkt:
jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
So führen Sie die Jar-Datei aus
quelle
java TheJavaFile
äquivalent zujava TheJavaFile.class
... bezeichnen, führen Sie die Java-Datei nicht wie angegeben aus. Sie führen die Klassendatei aus. Java-Dateien sind Quellen, die nicht ausführbar sindFalls sich Ihre Java-Klasse in einem Paket befindet. Angenommen, Ihre Java-Klasse mit dem Namen
ABC.java
ist in vorhandencom.hello.programs
, dann müssen Sie sie mit dem Paketnamen ausführen.Kompilieren Sie es wie gewohnt:
Aber um es auszuführen, müssen Sie den Paketnamen und dann Ihren Java-Klassennamen angeben:
quelle
Füllen Sie eine Java-Datei aus, um eine Klasse zu generieren:
Führen Sie die generierte Klasse aus:
quelle
Es ist leicht. Wenn Sie Ihre Datei als A.text gespeichert haben, sollten Sie sie zunächst als A.java speichern. Jetzt ist es eine Java-Datei.
Jetzt müssen Sie cmd öffnen und den Pfad zu Ihrer A.java-Datei festlegen, bevor Sie sie kompilieren. Sie können dies dafür verweisen .
Anschließend können Sie Ihre Datei mit dem Befehl kompilieren
Führen Sie es dann mit aus
So kompilieren und führen Sie ein Java-Programm in cmd aus. Sie können diese auch durchgehen Material , das Java ist, auch ausführlich . Viele Dinge, die Sie in Java verstehen müssen, werden dort für Anfänger behandelt.
quelle
Sie können jede Java-Quelle mit Javac in der Befehlszeile kompilieren. zB javac CopyFile.java. So führen Sie aus: Java CopyFile. Sie können auch alle Java-Dateien mit javac * .java kompilieren, solange sie sich im selben Verzeichnis befinden
Wenn Sie ein Problem haben, das dazu führt, dass die Hauptklasse nicht gefunden oder geladen werden konnte, befindet sich möglicherweise kein JRE in Ihrem Pfad. Schauen Sie sich diese Frage an: Die Hauptklasse konnte nicht gefunden oder geladen werden
quelle
Angenommen, die Datei heißt "CopyFile.java", gehen Sie wie folgt vor:
In der ersten Zeile wird der Quellcode in ausführbaren Bytecode kompiliert. Die zweite Zeile führt es aus und fügt zuerst das aktuelle Verzeichnis zum Klassenpfad hinzu (nur für den Fall).
quelle
Seit Java 11 kann das
java
Befehlszeilentool einen Quellcode für eine einzelne Datei direkt ausführen. z.BDies war eine Verbesserung mit JEP 330: https://openjdk.java.net/jeps/330
Einzelheiten zur Verwendung und zu den Einschränkungen finden Sie im Handbuch Ihrer Java-Implementierung, wie es beispielsweise von Oracle bereitgestellt wird: https://docs.oracle.com/en/java/javase/11/tools/java.html
quelle
Unter Windows 7 musste ich Folgendes tun:
schneller Weg
langer Weg
Dies wird wahrscheinlich unterbrochen, wenn Sie Ihre JDK-Installation aktualisieren, aber Sie haben jetzt Zugriff auf alle Befehlszeilentools.
Befolgen Sie die obigen Kommentare zum Kompilieren der Datei ("javac MyFile.java", dann "java MyFile") https://stackoverflow.com/a/33149828/194872
quelle
SCHRITT 1: ÖFFNEN SIE ZUERST DEN BEFEHLS-PROMPT, WO IHRE DATEI BEFINDET. (Klicken Sie mit der rechten Maustaste, während Sie die Umschalttaste drücken.)
SCHRITT 2: VERWENDEN SIE DANN DIE FOLGENDEN BEFEHLE, UM AUSZUFÜHREN. (Angenommen, der auszuführende Datei- und Klassenname heißt Student.java.) Das Beispielprogramm befindet sich im Bildhintergrund.
quelle
Ab Java 9 enthält das JDK
jshell
eine Java-REPL.Angenommen, das JDK 9+ -Verzeichnis
bin
wird Ihrem Pfad korrekt hinzugefügt, können Sie einfach:jshell File.java
-File.java
natürlich deine Datei.main
Methode aufrufen können :jshell> File.main(null)
./exit
Die vollständige Dokumentation zu JShell finden Sie hier .
quelle
Jetzt (ab JDK 9) können Sie einfach Java verwenden, um dies auszuführen. Um "Hello.java" mit dem Hauptmenü auszuführen, kann man verwenden: java Hello.java
Sie müssen nicht mehr separat mit javac kompilieren.
quelle