Опитвам се да изпълня програма Java от командния ред в Windows. Това е моят код:
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();
}
}
}
Не съм сигурен как да изпълня програмата - има ли помощ? Възможно ли е това да стане в Windows? С какво се различава от друга среда (мислех, че JVM е write once, run anywhere)?
Източник: javaindos.
Да речем, че вашият файл се намира в C:\mywork\
Изпълнете команден ред
C:> cd \mywork
Това превръща C:\mywork в текуща директория.
C:\mywork> dir
Това показва съдържанието на директорията. Трябва да видите filenamehere.java сред файловете.
C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin
Това указва на системата къде да намери програмите JDK.
C:\mywork> javac filenamehere.java
Това стартира javac.exe, компилатора. Не трябва да виждате нищо друго освен следващия системен промпт...
C:\mywork> dir
javac е създал файла filenamehere.class. Трябва да видите filenamehere.java и filenamehere.class сред файловете.
C:\mywork> java filenamehere
Това стартира интерпретатора на Java. След това трябва да видите вашата програма output.
Ако системата не може да намери javac, проверете командата set path. Ако javac се изпълнява, но получавате грешки, проверете вашия Java текст. Ако програмата се компилира, но получавате изключение, проверете правописа и главни букви в името на файла и името на класа и Java командата HelloWorld. Java е чувствителна към големи и малки букви!
Съчетайте файл на Java, за да генерирате клас:
javac filename.java
Изпълнение на генерирания клас:
java filename
Можете да компилирате всеки източник на java, като използвате javac в командния ред ; например javac CopyFile.java. За да стартирате : java CopyFile. Можете също така да компилирате всички java файлове, като използвате javac *.java, стига да са в една и съща директория
Ако'имате проблем, който води до "не може да намери или зареди главния клас", може би нямате jre във вашия път. Погледнете този въпрос: https://stackoverflow.com/questions/7647448/could-not-find-or-load-main-class