как запустить программу на java из командной строки в windows?

<p>я пытаюсь выполнить программу java из командной строки в windows. вот мой код:</p><pre><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(); } } } </code></pre><p>я не уверен, как выполнить программу - любая помощь? это возможно в windows? почему это отличается от другой среды (я думал, что jvm была однажды написать, запустить где угодно)?</p>

<p>источник: <a href="http://www.skylit.com/javamethods/faqs/javaindos.html">яваиндос.</a> </p><blockquote> <p>допустим, ваш файл находится в c:\mywork \</p> <p>запустить командную строку </p> <pre><code>c:\> cd \mywork </code></pre> <p>это делает c:\mywork текущим каталогом.</p> <pre><code>c:\mywork> dir </code></pre> <p>это отображает содержимое каталога. тебе следует увидеть имя файла здесь. java среди файлов.</p> <pre><code>c:\mywork> set path=%path%;c:\program files\java\jdk1.5.0\_09\bin </code></pre> <p>это говорит системе, где найти программы jdk.</p> <pre><code>c:\mywork> javac filenamehere.java </code></pre> <p>это запускает javac.exe, компилятор. вы не должны видеть ничего, кроме следующая система подскажите ...</p> <pre><code>c:\mywork> dir </code></pre> <p>javac создал файл filenamehere.class. тебе следует увидеть имя файла здесь.java и имя файла здесь.class среди файлов.</p> <pre><code>c:\mywork> java filenamehere </code></pre> <p>это запускает интерпретатор java. затем вы должны увидеть свою программу выход.</p> <p>если система не может найти javac, проверьте команду set path. если javac работает, но вы получаете ошибки, проверьте ваш текст java. если программа компилируется, но вы получаете исключение, проверьте орфографию и заглавные буквы в имени файла и имени класса и java команда helloworld. ява чувствительна к регистру!</p> </blockquote>

<p>чтобы завершить ответ:</p><ol> <li><p>файл java</p> <pre><code>thejavafile.java </code></pre></li> <li><p>скомпилируйте файл java в файл * .class</p> <pre><code>javac thejavafile.java </code></pre> <ul> <li>это создаст файл <code>thejavafile.class</code></li> </ul></li> <li><p>выполнение файла java</p> <pre><code>java thejavafile </code></pre></li> <li><p>создание исполняемого файла <code>*.jar</code></p> <ul> <li><p>у вас есть два варианта здесь -</p> <ol> <li><p>с внешним файлом манифеста:</p> <ul> <li><p>создайте файл манифеста, скажем - manifest.mf </p></li> <li><p>файл manifest - это не что иное, как явная запись основного класса </p></li> <li><p><code>jar -cvfm thejavafile.jar manifest.mf thejavafile.class</code></p></li> </ul></li> <li><p>выполняется точкой входа:</p> <ul> <li><code>jar -cvfe thejavafile.jar <mainclass> thejavafile.class</code></li> </ul></li> </ol></li> </ul></li> <li><p>чтобы запустить jar file</p> <pre><code>java -jar thejavafile.jar </code></pre></li> </ol>

<p>в случае, если ваш класс java находится в каком-то пакете. предположим, что ваш класс java с именем <code>abc.java</code> присутствует в <code>com.hello.programs</code>, тогда вам нужно запустить его с именем пакета.</p><p>скомпилируйте его обычным способом:</p><pre><code>c:\simplejavaproject\src\com\hello\programs > javac abc.java </code></pre><p>но чтобы запустить его, вам нужно дать имя пакета, а затем имя вашего класса java:</p><pre><code>c:\simplejavaproject\src > java com.hello.programs.abc </code></pre>

<p><strong> компилировать </strong>java-файл для генерации класса:</p><pre><code>javac filename.java </code></pre><p><strong> выполнить </strong>сгенерированный класс:</p><pre><code>java filename </code></pre>

<p>это легко. если вы сохранили файл как a.text, первое, что вам нужно сделать, это сохранить его как a.java. теперь это файл java. </p><p>теперь вам нужно открыть cmd и указать путь к файлу a.java перед его компиляцией. вы можете обратиться <a href="http://www.elcaro-guide.com/java/how-to-compile-and-run-a-java-program">это</a> для этого.</p><p>затем вы можете скомпилировать файл с помощью команды </p><blockquote> <p>джавак а. ява</p> </blockquote><p>затем запустите его, используя</p><blockquote> <p>java a</p> </blockquote><p>так вот, как вы компилируете и запускаете программу на java в cmd . вы также можете просмотреть эти <a href="http://www.elcaro-guide.com/java">материал</a> это java на уроках углубленного изучения. многое, что вам нужно понять в java, рассказано для начинающих.</p>

<p>вы можете скомпилировать любой исходный код java, используя javac в командной строке; например, javac copyfile.java . для запуска: java copyfile . вы также можете скомпилировать все файлы java, используя javac * .java, если они находятся в одном каталоге.</p><p>если у вас возникла проблема с сообщением «не удалось найти или загрузить основной класс», возможно, на вашем пути нет jre. посмотрите на этот вопрос: <a href="https://stackoverflow.com/questions/7647448/could-not-find-or-load-main-class">не удалось найти или загрузить основной класс</a> </p>

<p>предполагая, что файл называется «copyfile.java», выполните следующие действия:</p><pre><code>javac copyfile.java java -cp . copyfile </code></pre><p>первая строка компилирует исходный код в исполняемый байт-код. вторая строка выполняет его, сначала добавляя текущий каталог к пути к классу (на всякий случай).</p>

<p>на windows 7 мне пришлось сделать следующее:</p><p><strong>быстрый способ</strong></p><ol> <li>установите jdk <a href="http://www.oracle.com/technetwork/java/javase/downloads">http://www.oracle.com/technetwork/java/javase/downloads</a> </li> <li>в окнах перейдите в «c:\program files\java\jdk1.8.0\_91\bin» (или там, где установлена последняя версия jdk), удерживайте нажатой клавишу «shift» и щелкните правой кнопкой мыши пустую область в окне и сделайте «открыть» окно команд здесь ", и это даст вам командную строку и доступ ко всем инструментам bin. "javac" не по умолчанию в переменной среды path системы windows.</li> <li>следуйте приведенным выше комментариям о том, как скомпилировать файл («javac myfile.java», затем «java myfile») <a href="https://stackoverflow.com/a/33149828/194872">https://stackoverflow.com/a/33149828/194872</a> </li> </ol><p><strong>долгий путь</strong></p><ol start="4"> <li>установите jdk <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">http://www.oracle.com/technetwork/java/javase/downloads/index.html</a> </li> <li>после установки в редактирует переменную среды windows path и добавляет к пути c:\programdata\oracle\java\javapath следующее. в этой папке находятся символические ссылки на несколько исполняемых файлов java <strong>, но «javac» не является одним из них</strong>, поэтому при попытке запустить «javac» из командной строки windows выдает ошибку.</li> <li>я отредактировал путь: панель управления -> система -> вкладка «дополнительно» -> кнопка «переменные среды ...» -> прокрутите вниз до «путь», выделите и отредактируйте -> заменил «c:\programdata\oracle\java \» javapath "с прямым путем к папке java bin" c:\program files\java\jdk1.8.0\_91\bin ".</li> <li><p>скорее всего, это сломается, когда вы обновите установку jdk, но теперь у вас есть доступ ко всем инструментам командной строки.</p></li> <li><p>следуйте приведенным выше комментариям о том, как скомпилировать файл («javac myfile.java», затем «java myfile») <a href="https://stackoverflow.com/a/33149828/194872">https://stackoverflow.com/a/33149828/194872</a> </p></li> </ol>

<p> <a href="https://i.stack.imgur.com/ee25r.png"> <img src="https://i.stack.imgur.com/ee25r.png" alt="enter image description here"> </a> шаг 1: первый открыть команду подсказка где находится ваш файл is. (щелчок правой кнопкой при нажатии shift)<br> шаг 2: тогда используйте следующие команды для выполнения . (допустим, имя файла и имя класса, который нужно выполнить, называется student.java). пример программы находится на заднем плане рисунка.</p><pre><code> javac student.java java student </code></pre><p> <a href="https://i.stack.imgur.com/p2vth.png"> <img src="https://i.stack.imgur.com/p2vth.png" alt="enter image description here"> </a> </p>

<p>начиная с java 9, jdk включает в себя <code>jshell</code>, java repl.</p><p>предполагая, что каталог jdk 9+ <code>bin</code> правильно добавлен к вашему пути, вы сможете просто:</p><ol> <li>запустите <code>jshell file.java</code> - <code>file.java</code>, конечно же, ваш файл. </li> <li>откроется приглашение, позволяющее вам вызвать метод <code>main</code>: <code>jshell> file.main(null)</code>.</li> <li>чтобы закрыть запрос и завершить сеанс jvm, используйте <code>/exit</code></li> </ol><p>полную документацию по jshell можно найти <a href="https://docs.oracle.com/en/java/javase/11/jshell/introduction-jshell.html">здесь</a> .</p>

<p>начиная с java 11, инструмент командной строки <code>java</code> может запускать исходный код из одного файла напрямую. например.</p><pre><code>java helloworld.java </code></pre><p>это было улучшение с jep 330: <a href="https://openjdk.java.net/jeps/330">https://openjdk.java.net/jeps/330</a> </p><p>подробнее об использовании и ограничениях см. руководство по реализации java, например, предоставленное oracle: <a href="https://docs.oracle.com/en/java/javase/11/tools/java.html">https://docs.oracle.com/en/java/javase/11/tools/java.html</a> </p>

<p>теперь (начиная с jdk 9) вы можете просто использовать java, чтобы выполнить это. чтобы выполнить «hello.java», содержащий основной, можно использовать: java hello.java</p><p>вам больше не нужно компилировать, используя отдельно, используя javac.</p>