Hoe voer ik een Java-programma uit vanaf de opdrachtregel in Windows?

Ik probeer een Java-programma uit te voeren vanaf de opdrachtregel in Windows. Hier is mijn 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();
        }
    }
}

Ik weet niet zeker hoe ik het programma moet uitvoeren – enige hulp? Is dit mogelijk op Windows? Waarom is het anders dan een andere omgeving (ik dacht dat JVM één keer geschreven was, overal werd uitgevoerd)?


Antwoord 1, autoriteit 100%

Bron: javaindos.

Stel dat uw bestand zich in C:\mywork\ bevindt

Opdrachtprompt uitvoeren

C:\> cd \mywork

Dit maakt C:\mywork de huidige directory.

C:\mywork> dir

Hiermee wordt de inhoud van de map weergegeven. Je zou moeten zien
filenamehere.java tussen de bestanden.

C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin

Dit vertelt het systeem waar het JDK-programma’s kan vinden.

C:\mywork> javac filenamehere.java

Hiermee wordt javac.exe, de compiler, uitgevoerd. Je zou niets anders moeten zien dan de
volgende systeemprompt…

C:\mywork> dir

javac heeft het bestand filenamehere.class gemaakt. Je zou moeten zien
bestandsnaamhere.java en bestandsnaamhere.class tussen de bestanden.

C:\mywork> java filenamehere

Hierdoor wordt de Java-interpreter uitgevoerd. Je zou dan je programma moeten zien
uitvoer.

Als het systeem javac niet kan vinden, controleer dan de opdracht set path. Als javac
wordt uitgevoerd, maar u krijgt fouten, controleer uw Java-tekst. Als het programma
compileert maar je krijgt een uitzondering, controleer de spelling en
hoofdlettergebruik in de bestandsnaam en de klassenaam en de java
HelloWorld-opdracht. Java is hoofdlettergevoelig!


Antwoord 2, autoriteit 46%

Om het antwoord aan te vullen:

  1. Het Java-bestand

    TheJavaFile.java
    
  2. Compileer het Java-bestand naar een *.class-bestand

    javac TheJavaFile.java
    
    • Hiermee wordt een bestand TheJavaFile.classgemaakt
  3. Uitvoering van het Java-bestand

    java TheJavaFile
    
  4. Een uitvoerbaar *.jar-bestand maken

    • Je hebt hier twee opties –

      1. Met een extern manifestbestand :

        • Maak het manifestbestand zeg – MANIFEST.mf

        • Het MANIFEST-bestand is niets anders dan een expliciete invoer van de hoofdklasse

        • jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class

      2. Uitvoerbaar per ingangspunt:

        • jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
  5. Het Jar-bestand uitvoeren

    java -jar TheJavaFile.jar
    

Antwoord 3, autoriteit 9%

Compileereen Java-bestand om een klasse te genereren:

javac filename.java

Voerde gegenereerde klasse uit:

java filename

Antwoord 4, autoriteit 9%

In het geval dat uw Java-klasse zich in een pakket bevindt. Stel dat uw Java-klasse met de naam ABC.javaaanwezig is in com.hello.programs, dan moet u deze uitvoeren met de pakketnaam.

Compileer het op de gebruikelijke manier:

C:\SimpleJavaProject\src\com\hello\programs > javac ABC.java

Maar om het uit te voeren, moet u de pakketnaam opgeven en vervolgens uw java-klassenaam:

C:\SimpleJavaProject\src > java com.hello.programs.ABC

Antwoord 5, Autoriteit 4%

Aangenomen van het bestand wordt “Copyfile.java” genoemd, doe het volgende:

javac CopyFile.java
java -cp . CopyFile

De eerste regel compileert de broncode in uitvoerbare byte-code. De tweede regel voert deze uit, eerst de huidige map aan het klassenpad (net in het geval).


Antwoord 6, Autoriteit 4%

Sinds Java 11, javaOpdrachtregelgereedschap heeft de broncode van één bestand rechtstreeks kunnen uitvoeren. b.g

java HelloWorld.java

Dit was een verbetering met JEP 330: https://openjdk.java.net/jeps/330

Zie voor de details van het gebruik en de beperkingen, zie de handleiding van uw Java-implementatie, zoals een van Oracle: https://docs.oracle.com/en/java/javase/11/tools/java.html


Antwoord 7, Autoriteit 4%

Het is gemakkelijk. Als u uw bestand hebt opgeslagen als A.Text eerste ding dat u zou moeten doen, is het opslaan als A.Java. Nu is het een Java-bestand.

Nu moet u CMD en het pad naar u A.java-bestand openen voordat u deze compileert. U kunt dit voor dat.

U kunt uw bestand compileren met opdracht

javac a.java

Voer het vervolgens uit met

Java A

Dus dat is hoe je een Java-programma compileert en een Java-programma in CMD uitvoert.
Je kunt ook door dit materiaalgaan, dat is Java diepgaande lessen. Veel dingen die je moet begrijpen in Java worden daar behandeld voor beginners.


Antwoord 8, autoriteit 3%

Je kunt elke Java-bron compileren met javac in de opdrachtregel; bijv. javac CopyFile.java.
Uitvoeren: java CopyFile.
Je kunt ook alle java-bestanden compileren met javac *.java, zolang ze zich in dezelfde map bevinden

Als je een probleem hebt met als resultaat “Kan hoofdklasse niet vinden of laden”, heb je misschien geen
jre op je pad. Kijk eens naar deze vraag:
Kan hoofdklasse niet vinden of laden


Antwoord 9, autoriteit 2%

Op Windows 7 moest ik het volgende doen:

snelle manier

  1. Installeer JDK http://www.oracle.com/technetwork/java/javase /downloads
  2. blader in Windows naar “C:\Program Files\Java\jdk1.8.0_91\bin” (of waar de nieuwste versie van JDK is geïnstalleerd), houd shift ingedrukt en klik met de rechtermuisknop op een leeg gebied in het venster en doe “hier het opdrachtvenster openen” en dit geeft je een opdrachtregel en toegang tot alle BIN-tools. “javac” is niet standaard in de PATH-omgevingsvariabele van het Windows-systeem.
  3. Volg de opmerkingen hierboven over het compileren van het bestand (“javac MyFile.java” en vervolgens “java MyFile”) https://stackoverflow .com/a/33149828/194872

lange weg

  1. Installeer JDK http://www.oracle.com/technetwork /java/javase/downloads/index.html
  2. Bewerkt na de installatie de Windows PATH-omgevingsvariabele en voegt het volgende toe aan het pad C:\ProgramData\Oracle\Java\javapath. In deze map bevinden zich symbolische koppelingen naar een handvol uitvoerbare Java-bestanden maar “javac” is er NIET een van, dus als u “javac” probeert uit te voeren vanaf de Windows-opdrachtregel, geeft het een foutmelding.
  3. Ik heb het pad bewerkt: Configuratiescherm -> Systeem -> Geavanceerd tabblad -> “Omgevingsvariabelen…” knop -> scroll naar beneden naar “Pad”, markeer en bewerk -> “C:\ProgramData\Oracle\Java\javapath” vervangen door een direct pad naar de java BIN-map “C:\Program Files\Java\jdk1.8.0_91\bin”.
  4. Dit gaat waarschijnlijk kapot als je je JDK-installatie upgradet, maar je hebt nu toegang tot alle opdrachtregelprogramma’s.

  5. Volg de opmerkingen hierboven over het compileren van het bestand (“javac MyFile.java” en vervolgens “java MyFile”) https: //stackoverflow.com/a/33149828/194872


Antwoord 10


STAP 1: OPEN EERST DE COMMANDOPROMPT WAAR UW BESTAND ZICH BEVINDT. (klik met de rechtermuisknop terwijl u op shift drukt)
STAP 2: GEBRUIK DAARNA DE VOLGENDE COMMANDO’S OM UIT TE VOEREN.
(laten we zeggen dat het bestand en de klassenaam die moeten worden uitgevoerd de naam Student.java heeft) Het voorbeeldprogramma bevindt zich op de achtergrond van de afbeelding.

    javac Student.java
     java Student


Antwoord 11

Nu (met JDK 9 en hoger), kun je Java gebruiken om dat uit te voeren.
Om “Hello.java” met daarin de main uit te voeren, kan men het volgende gebruiken:
java Hallo.java

Je hoeft niet meer apart te compileren met javac.


Antwoord 12

Vanaf Java 9 bevat de JDK jshell, een Java REPL.

Ervan uitgaande dat de JDK 9+ bin-directory correct is toegevoegd aan uw pad, kunt u eenvoudig:

  1. Voer jshell File.javauit — File.javais natuurlijk je bestand.
  2. Er wordt een prompt geopend, waarmee u de methode mainkunt aanroepen: jshell> File.main(null).
  3. Om de prompt te sluiten en de JVM-sessie te beëindigen, gebruikt u /exit

Volledige documentatie voor JShell vindt u hier.

Other episodes