Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

вопрос по процессaм

9.9K
04 сентября 2009 года
maxxi
35 / / 20.06.2007
у меня несколько процессов, каждый из которых надо считать InputStreamReader- ом и выдать например на консоль.как это сделать? спасибо

вот мой код-

[HTML]

try
{
String line[] = new String [100];

String jreDir = binDir.getAbsolutePath();
String comand = "java.exe -version";
String model = "sun.arch.data.model";
Process p = Runtime.getRuntime ()
.exec ( comand, null, binDir);

Process p1= Runtime.getRuntime()
.exec(model, null, binDir);

BufferedReader input =
new BufferedReader ( new InputStreamReader ( p.getInputStream () ) , 10);

BufferedReader input1 =
new BufferedReader ( new InputStreamReader ( p1.getInputStream () ), 10 );









for (int i = 0; i<10; ++i){

while ( ( line = input.readLine () ) != null )
{
System.out.println ( line );
}
input.close ();
input = new BufferedReader ( new InputStreamReader ( p.getErrorStream() ) );


//** java - architektur **//


// BufferedReader input1 =
// new BufferedReader ( new InputStreamReader ( p.getInputStream () ) );
while ( ( line = input.readLine () ) != null )
{
System.out.println ( line );

}
input1.close ();
input1 = new BufferedReader ( new InputStreamReader ( p1.getErrorStream() ) );








// Ausgabe
while ( ( line = input.readLine () ) != null )
{
System.out.println ( line );

}
input.close ();
}

}




catch ( Exception err )
{
err.printStackTrace ();
}









[/HTML]
502
04 сентября 2009 года
Jail
550 / / 30.01.2007
В консоль можно выдать вот так:
Код:
import java.io.Console;
import java.util.Arrays;
import java.io.IOException;

Console c = System.console();
        if (c == null) {
            System.err.println("No console.");
            System.exit(1);
        }

//read from console
String login = c.readLine("Enter your ***: ");

for (int i=0; ( line = input.readLine () ) != null ; i++ )
          {
                  //output to to the console
         c.format("Some else put there %s!",line);
                       
           }

Но необходимо помнить о синхронизации процессов, дабы в консоль не генерировался бред. я б воспользовался для эти целей объектом
Цитата:
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.SynchronousQueue;


BlockingQueue<String> drop = new SynchronousQueue<String> ();

Пример кода могу кинуть сюда, как это делается. Синхронизация в этом случае проста в реализации и понятна.

52K
26 сентября 2009 года
Serebrjany mir
10 / / 11.09.2009
если я правильно понял, то можно сделать так

if30==f3
System.out.printlnSuccess;
else
System.out.printlnFail;

и, грубо говоря задаешь функцию
public static int fint k

return k10;


то будет работать...Success
ну или уточни вопросдля меня
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог