Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / перенаправить ввод для java.exe в командной строке / 3 сообщений из 3, страница 1 из 1
14.05.2013, 18:08:46
    #38257151
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перенаправить ввод для java.exe в командной строке
Вопрос, наверное, глупый, просто я в яве не разбираюсь. Ситуация такая:

Запускаю
java -jar prog.war
Далее меня просят ввести штук 5 параметров поочередно. А я хочу сделать это 1 командой.

Причем в докуменации на prog такой возможности нет. Код я тоже поменять не могу, исходников нет.

Пробую так (windows)

echo parameter1 | java -jar prog.war
java -jar prog.war < parameters.txt
java -jar prog.war parameter1

Но он мне вводит туда null почему-то в первых 2-х вариантах.
С левой консольной программой работает ок, хотя там пустые строки не критичны.
Может быть есть другие варианты, например эти параметры можно как-то задать java-specific способом, даже если prog.war этого как бы не предусматривает ?
...
Рейтинг: 0 / 0
14.05.2013, 20:06:12
    #38257284
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перенаправить ввод для java.exe в командной строке
SvDevКод я тоже поменять не могу, исходников нет. Воспользуйтесь этим
...
Рейтинг: 0 / 0
15.05.2013, 00:03:04
    #38257442
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
перенаправить ввод для java.exe в командной строке
Так можно
Wrp.java
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
package wrp;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Date;

public class Wrp {

    private static final String PATH = "D:\\ellipse.ear";

    public static void main(String[] args) throws IOException {
        System.out.printf("start %tT\n", new Date());
        
        String[] params = {"java", "-jar", PATH};
        Process process = Runtime.getRuntime().exec(params);
//        ProcessBuilder pb = new ProcessBuilder(params);
//        Process process = pb.start();
        
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
        writer.write("11.5");
        writer.newLine();
        writer.write("55\n3\n5\n999999");
        writer.newLine();
        writer.flush();
        
        BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
    }
}

...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / перенаправить ввод для java.exe в командной строке / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]