Как я могу связать консоль с приложением Java? - PullRequest
0 голосов
/ 24 марта 2009

Поскольку я изучал Java, я смог создавать программы с графическим интерфейсом. Впрочем, даже простое «Привет, мир!» Программы не будут работать, если они требуют консоли. Мои исследования по этой теме привели меня к выводу, что моя среда выполнения Java не имеет консоли, связанной с ней.

Можно ли как-нибудь вызвать Win32-метод "AllocConsole", как это возможно в C #?

Edit:

Я имею в виду консоль, которую вы описываете, консоль, которую могут иметь программы на C #. Я забыл упомянуть, что я использую Eclipse IDE. Из того, что я обнаружил, Eclipse запускает программу, использующую «javaw.exe» вместо «java.exe», в результате чего программа не имеет консоли. Кроме того, Windows «Командная строка» - это программа, которая использует тип консоли, который я имею в виду.

Спасибо за любые ответы.

Euphoria83 находится на правильном пути в отношении того, что я пытаюсь сделать. Кстати, его метод работает, но я хочу, чтобы консоль автоматически появлялась, когда я щелкаю по файлу «.jar» создаваемой мной программы. По сути, мне нужно, чтобы консоль работала так же, как в C # во время выполнения. Кроме того, в Eclipse есть консольное окно (я думаю, что это называется перспективой консоли, но я привык использовать Visual Studio, поэтому я не совсем уверен), которое будет отображать вывод программы внутри Eclipse только . Я хочу, чтобы консоль работала во время выполнения, а не только внутри интегрированной среды разработки.

Ответы [ 5 ]

3 голосов
/ 24 марта 2009

Либо связать «java.exe» с расширением .jar (по умолчанию это будет «javaw.exe», который не имеет консоли), в этом случае вы получите консоль с каждым jar-файлом, либо создайте ярлык /.exe на выбранном вами языке / пакетный скрипт для запуска 'java -jar myjar.jar' при нажатии на него.

2 голосов
/ 24 марта 2009

Что именно вы подразумеваете под консолью?

Печатание по буквам

System.out.println("Hello world!");

В простой Java-программе и ее запуске из командной строки вы получите желаемый результат. Если ваше определение консоли не отличается, в этом случае вам нужно объяснить себя лучше.

0 голосов
/ 24 марта 2009

Вместо того, чтобы связываться с файловыми ассоциациями, что является одним из способов изменения по умолчанию, вы можете создать пакетный файл jarconsole.bat в вашем C: \ Documents and Settings \ User \ SendTo каталог:

@ECHO OFF
java -jar %1
PAUSE

Затем можно запустить банку, щелкнув правой кнопкой мыши и выбрав Отправить> jarconsole.bat .

См. Также этот вопрос о работе с некоторыми функциями консоли из Eclipse.

0 голосов
/ 24 марта 2009

Получаете ли вы сообщение об ошибке при выполнении кода или просто не видите результат, даже если ваш код выполняется успешно?

Кажется, вы используете IDE. Возможно, что вывод направляется в консольное окно, которое еще невидимо. Вы должны сделать это видимым, выбирая из меню.

Попробуйте это:

Сохраните следующее в текстовом файле с именем «Test.java»

public class Test {
     public static void main(String[] args) {
          System.out.println("This is a print from my code") ;
     }
}

Затем откройте консоль, набрав «cmd» в командной строке (которую вы можете выбрать в меню «Пуск»). Перейдите в папку, в которой вы сохранили Test.java, и введите это.

> javac Test.java

с последующим

> java Test

Если вы видите «Это распечатка из моего кода» , то ваш код выводит на консоль.

0 голосов
/ 24 марта 2009

Как сказал Ювал, System.out.println ("...") печатает ваш текст в окне консоли.

В качестве небольшого объяснения System.out - это «стандартный» поток вывода, который автоматически предоставляется классом System (вы можете знать что-то подобное из C или C ++).

Вы можете создать свой собственный выходной поток (есть несколько различных типов классов выходного потока, например, для записи в файл или в строку) и использовать их методы print () и println ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...