Sto cercando di eseguire un programma Java dalla riga di comando in Windows. Ecco il mio codice:
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();
}
}
}
Non sono sicuro di come eseguire il programma - qualche aiuto? È possibile su Windows? Perché è diverso da un altro ambiente (pensavo che JVM fosse scrivere una volta, eseguire ovunque)?
Fonte: javaindos.
Diciamo che il vostro file è in C:\Mywork\
Esegui il prompt dei comandi
C:\x22; cd \x22work
Questo rende C:\mywork la directory corrente.
C:\mywork> dir
Questo mostra il contenuto della directory. Dovresti vedere filenamehere.java tra i file.
C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin
Questo dice al sistema dove trovare i programmi JDK.
C:\mio lavoro> javac filenamehere.java
Questo esegue javac.exe, il compilatore. Non dovresti vedere altro che il prossimo prompt di sistema...
C:\mio lavoro> dir
javac ha creato il file filenamehere.class. Dovresti vedere filenamehere.java e filenamehere.class tra i file.
C:\mio lavoro> java filenamehere
Questo esegue l'interprete Java. Dovresti quindi vedere il tuo programma in uscita.
Se il sistema non trova javac, controlla il comando set path. Se javac viene eseguito ma ottieni degli errori, controlla il tuo testo Java. Se il programma compila ma ottieni un'eccezione, controlla l'ortografia e maiuscole nel nome del file e nel nome della classe e il comando java HelloWorld. Java è sensibile alle maiuscole e alle minuscole!
Complica un file Java per generare una classe:
javac filename.java
Eseguire la classe generata:
java filename
Puoi compilare qualsiasi sorgente java usando javac nella linea di comando; ad esempio, javac CopyFile.java. Per eseguire: java CopyFile. Puoi anche compilare tutti i file java usando javac *.java, purché siano nella stessa directory
Se stai avendo un problema risultante da "could not find or load main class" potresti non avere jre nel vostro percorso. Dai un'occhiata a questa domanda: https://stackoverflow.com/questions/7647448/could-not-find-or-load-main-class