Класс System
Класс System является финальным классом из пакета
java.lang и не может быть унаследован. Он содержит
только статические поля и методы, поэтому для обращения
к ним не нужно создавать экземпляр класса. Основные
возможности класса: доступ к стандартным потокам
out, err и in, работа с системным
временем через currentTimeMillis и nanoTime,
получение системных свойств через getProperty,
копирование массивов через arraycopy, а также
завершение работы программы через exit.
В первом параметре методов обычно передается имя системного свойства или исходный массив, во втором - значение или позиция. Рассмотрим основные методы класса на примерах.
Синтаксис
System.out.println(значение)
System.err.println(значение)
System.currentTimeMillis()
System.nanoTime()
System.getProperty(ключ)
System.arraycopy(источник, позицияИсточника, назначение, позицияНазначения, длина)
System.exit(код)
Пример
Давайте выведем строку в стандартный поток вывода и отдельно в поток ошибок:
public class Main
{
public static void main(String[] args)
{
System.out.println("abcde");
System.err.println("12345");
}
}
Результат выполнения кода:
"abcde"
"12345"
Пример
Давайте получим текущее время в миллисекундах и наносекундах:
public class Main
{
public static void main(String[] args)
{
long millis = System.currentTimeMillis();
long nanos = System.nanoTime();
System.out.println(millis > 0);
System.out.println(nanos > 0);
}
}
Результат выполнения кода:
true
true
Пример
Давайте прочитаем системное свойство с именем
java.version:
public class Main
{
public static void main(String[] args)
{
String version = System.getProperty("java.version");
System.out.println(version);
}
}
Результат выполнения кода:
"17.0.1"
Пример
Давайте скопируем часть одного массива в другой
при помощи метода arraycopy:
public class Main
{
public static void main(String[] args)
{
int[] src = {1, 2, 3, 4, 5};
int[] dst = new int[5];
System.arraycopy(src, 1, dst, 0, 3);
for (int num : dst)
{
System.out.println(num);
}
}
}
Результат выполнения кода:
2
3
4
0
0
Пример
Давайте завершим программу с кодом возврата 0:
public class Main
{
public static void main(String[] args)
{
System.out.println("abcde");
System.exit(0);
System.out.println("12345");
}
}
Результат выполнения кода:
"abcde"
Смотрите также
-
поле
out,
которое хранит стандартный поток вывода -
поле
err,
которое хранит стандартный поток ошибок -
поле
in,
которое хранит стандартный поток ввода -
класс
PrintStream,
который представляет потоки вывода