» Язык
java
» Главная
страница
» Вернуться
к содержанию
Выполнение
других программ
В
безопасных средах вы можете
использовать Java для выполнения
других полновесных процессов
в своей многозадачной операционной
системе. Несколько форм метода
ехес позволяют задавать имя
программы и ее параметры.
В
очередном примере используется
специфичный для Windows вызов
ехес, запускающий процесс notepad
— простой текстовый редактор.
В качестве параметра редактору
передается имя одного из исходных
файлов Java. Обратите внимание
— ехес автоматически преобразует
в строке-пути символы “/” в
разделители пути в Windows —
“\”.
class
ExecDemo {
public
static void main(String args[])
{
Runtime
r = Runtime. getRuntime();
Process
p = null;
String
cmd[] = { "notepad",
"/java/src/java/lang/Runtime.java"
} ;
try
{
p
= r.exec(cmd);
}
catch (Exception e) {
System.out.println("error
executing " + cmd[0]);
}
}
}
System
Класс
System содержит любопытную коллекцию
глобальных функций и переменных.
В большинстве примеров этой
книге для операций вывода мы
использовали метод System.out.println().
Метод
currentTimeMillis возвращает
текущее системное время в виде
миллисекунд, прошедших с 1 января
1970 года.
Метод
arraycopy можно использовать
для быстрого копирования массива
любого типа из одного места
в памяти в другое. Ниже приведен
пример копирования двух массивов
с помощью этого метода.
class
ACDemo {
static
byte a[] = { 65, 66, 67, 68,
69, 70, 71, 72, 73, 74 } ;
static
byte b[] = { 77, 77, 77, 77,
77, 77, 77, 77, 77, 77 } ;
public
static void main(
String
args[]) {
System.out.println("a
= " + new String(a, 0));
System.out.println("b
= " + new String(b, 0));
System.arraycopy(a,
0, b, 0, a.length);
System.out.println("a
= " + new String(a, 0));
System.out.println("b
= " + new String(b, 0));
System.arraycopy(a,
0, a, 1, a.length - 1);
System.arraycopy(b,
1, b, 0, b.length - 1);
System.out.println("a
= " + new String(a, 0));
System.out.println("b
= " + new String(b, 0));
}
}
Как
вы можете заключить из результата
работы этой программы, копирование
можно выполнять в любом направлении,
используя в качестве источника
и приемника один и тот же объект.
С:\
> java ACDemo
а
= ABCDEFGHIJ
b
= ММММММММММ
а
= ABCDEFGHIJ
b
= ABCDEFGHIJ
а
= AABCDEFGHI
b
= BCDEFGHIJJ
Следующий
урок
|