Java : System con ejemplos
System (Java SE 21 & JDK 21) en Java con ejemplos.
Encontrará ejemplos de código en la mayoría de los métodos de System.
Nota :
- Este artículo puede utilizar software de traducción para su comodidad. Consulte también la versión original en inglés.
Summary
La clase System contiene varios campos y métodos de clase útiles. No se puede crear una instancia. Entre las funciones proporcionadas por la clase Sistema se encuentran los flujos de entrada estándar, salida estándar y salida de error; acceso a propiedades definidas externamente y variables de entorno; un medio para cargar archivos y bibliotecas; y un método de utilidad para copiar rápidamente una parte de una matriz. (Traducción automática)
System.out.println("1234");
System.out.println("abcd");
// Result (The "standard" output stream.)
// ↓
//1234
//abcd
final var ret1 = System.getProperty("java.specification.version");
System.out.println(ret1); // 21
final var ret2 = System.getProperty("os.name");
System.out.println(ret2); // Windows 10
Fields
static final PrintStream err
El flujo de salida de error "estándar". (Traducción automática)
System.err.println(1234);
System.err.println("abcd");
System.err.printf("num = %d", 789);
// Result (The "standard" error output.)
// ↓
//1234
//abcd
//num = 789
static final InputStream in
El flujo de entrada "estándar". (Traducción automática)
final var scanner = new Scanner(System.in);
// Input : abcd [Enter]
final var line = scanner.nextLine();
System.out.println(line); // abcd
static final PrintStream out
El flujo de salida "estándar". (Traducción automática)
System.out.println(1234);
System.out.println("abcd");
System.out.printf("num = %d", 789);
// Result (The "standard" output stream.)
// ↓
//1234
//abcd
//num = 789
Methods
static void arraycopy (Object src, int srcPos, Object dest, int destPos, int length)
Copia una matriz de la matriz de origen especificada, comenzando en la posición especificada, a la posición especificada de la matriz de destino. (Traducción automática)
final int[] src = {1, 2, 3, 4};
final int[] dst1 = new int[4];
final int[] dst2 = new int[4];
final int[] dst3 = new int[4];
final int[] dst4 = new int[4];
System.out.println(Arrays.toString(src)); // [1, 2, 3, 4]
System.out.println(Arrays.toString(dst1)); // [0, 0, 0, 0]
System.out.println(Arrays.toString(dst2)); // [0, 0, 0, 0]
System.out.println(Arrays.toString(dst3)); // [0, 0, 0, 0]
System.out.println(Arrays.toString(dst4)); // [0, 0, 0, 0]
System.arraycopy(src, 0, dst1, 0, 4);
System.arraycopy(src, 0, dst2, 0, 3);
System.arraycopy(src, 0, dst3, 0, 2);
System.arraycopy(src, 0, dst4, 0, 1);
System.out.println(Arrays.toString(dst1)); // [1, 2, 3, 4]
System.out.println(Arrays.toString(dst2)); // [1, 2, 3, 0]
System.out.println(Arrays.toString(dst3)); // [1, 2, 0, 0]
System.out.println(Arrays.toString(dst4)); // [1, 0, 0, 0]
final int[] src = {1, 2, 3, 4};
final int[] dst1 = new int[4];
final int[] dst2 = new int[4];
final int[] dst3 = new int[4];
final int[] dst4 = new int[4];
System.arraycopy(src, 0, dst1, 0, 4);
System.arraycopy(src, 1, dst2, 0, 3);
System.arraycopy(src, 2, dst3, 0, 2);
System.arraycopy(src, 3, dst4, 0, 1);
System.out.println(Arrays.toString(dst1)); // [1, 2, 3, 4]
System.out.println(Arrays.toString(dst2)); // [2, 3, 4, 0]
System.out.println(Arrays.toString(dst3)); // [3, 4, 0, 0]
System.out.println(Arrays.toString(dst4)); // [4, 0, 0, 0]
final int[] src = {1, 2, 3, 4};
final int[] dst1 = new int[4];
final int[] dst2 = new int[4];
final int[] dst3 = new int[4];
final int[] dst4 = new int[4];
System.arraycopy(src, 0, dst1, 0, 4);
System.arraycopy(src, 0, dst2, 1, 3);
System.arraycopy(src, 0, dst3, 2, 2);
System.arraycopy(src, 0, dst4, 3, 1);
System.out.println(Arrays.toString(dst1)); // [1, 2, 3, 4]
System.out.println(Arrays.toString(dst2)); // [0, 1, 2, 3]
System.out.println(Arrays.toString(dst3)); // [0, 0, 1, 2]
System.out.println(Arrays.toString(dst4)); // [0, 0, 0, 1]
static String clearProperty (String key)
Elimina la propiedad del sistema indicada por la clave especificada. (Traducción automática)
System.out.println(System.getProperty("aaa")); // null
System.out.println(System.setProperty("aaa", "bbb")); // null
System.out.println(System.getProperty("aaa")); // "bbb"
System.out.println(System.clearProperty("aaa")); // "bbb"
System.out.println(System.getProperty("aaa")); // null
static Console console ()
Devuelve el objeto de consola único asociado con la máquina virtual Java actual, si la hay. (Traducción automática)
final var console = System.console();
if (console != null) {
// Input : abcd [Enter]
// The readPassword method reads a password or passphrase
// from the console with echoing disabled.
final var password = console.readPassword();
System.out.println(Arrays.toString(password)); // [a, b, c, d]
Arrays.fill(password, '\0');
System.out.println(Arrays.toString(password)); // [ , , , ]
}
static long currentTimeMillis ()
Devuelve la hora actual en milisegundos. (Traducción automática)
final var millis = System.currentTimeMillis();
System.out.println(millis); // 1714290837706
final var instant = Instant.ofEpochMilli(millis);
System.out.println(instant); // 2024-04-28T07:53:57.706Z
final var zoneId = ZoneId.systemDefault();
System.out.println(zoneId); // America/Los_Angeles
final var zonedDateTime = ZonedDateTime.ofInstant(instant, zoneId);
System.out.println(zonedDateTime); // 2024-04-28T00:53:57.706-07:00[America/Los_Angeles]
static void exit (int status)
Inicia la secuencia de apagado de la Máquina Virtual Java. (Traducción automática)
public class Main {
public static void main(String[] args) {
System.out.println("exit : before");
System.exit(999);
// This is not output.
System.out.println("exit : after");
}
}
// --- PowerShell ---
//PS R:\java-work> java Main
//exit : before
//
//PS R:\java-work> $LastExitCode
//999
static void gc ()
Ejecuta el recolector de basura en la máquina virtual Java. (Traducción automática)
var sb = new StringBuilder("abcd");
final var ref = new WeakReference<>(sb);
System.out.println(ref.get()); // abcd
sb = null;
System.out.println(ref.get()); // abcd
System.gc();
System.out.println(ref.get()); // null
static Map<String,String> getenv ()
Devuelve una vista de mapa de cadenas no modificable del entorno actual del sistema. (Traducción automática)
final var envMap = System.getenv();
envMap.forEach((key, value) -> {
System.out.println(key + " : " + value);
});
// Result
// ↓
//...
//OS : Windows_NT
//PUBLIC : C:\Users\Public
//SESSIONNAME : Console
//...
static String getenv (String name)
Obtiene el valor de la variable de entorno especificada. (Traducción automática)
System.out.println(System.getenv("OS")); // Windows_NT
System.out.println(System.getenv("PUBLIC")); // C:\Users\Public
System.out.println(System.getenv("SESSIONNAME")); // Console
static System.Logger getLogger (String name)
Devuelve una instancia de Logger para uso de la persona que llama. (Traducción automática)
public class Main {
public static void main(String[] args) {
final var logger = System.getLogger("com.example.system");
logger.log(System.Logger.Level.INFO, "TEST : 1");
logger.log(System.Logger.Level.INFO, "TEST : 2");
logger.log(System.Logger.Level.INFO, "TEST : 3");
}
}
// --- PowerShell ---
//PS R:\java-work> java Main
//Apr 28, 2024 3:47:31 PM Main main
//INFO: TEST : 1
//Apr 28, 2024 3:47:31 PM Main main
//INFO: TEST : 2
//Apr 28, 2024 3:47:31 PM Main main
//INFO: TEST : 3
static System.Logger getLogger (String name, ResourceBundle bundle)
Devuelve una instancia localizable de Logger para uso de la persona que llama. (Traducción automática)
import java.util.ListResourceBundle;
public class LoggerResourceBundle extends ListResourceBundle {
@Override
protected Object[][] getContents() {
return new Object[][]{
{"aaa", "XXX"}
};
}
}
public class Main {
public static void main(String[] args) {
final var bundle = ResourceBundle.getBundle("LoggerResourceBundle");
final var logger = System.getLogger("com.example.system", bundle);
logger.log(System.Logger.Level.INFO, "aaa");
}
}
// --- PowerShell ---
//PS R:\java-work> java Main
//Apr 28, 2024 3:51:01 PM Main main
//INFO: XXX
static Properties getProperties ()
Determina las propiedades actuales del sistema. (Traducción automática)
final var properties = System.getProperties();
properties.forEach((key, value) -> {
System.out.println(key + " : " + value);
});
// Result
// ↓
//...
//java.specification.version : 21
//os.name : Windows 10
//...
static String getProperty (String key)
Obtiene la propiedad del sistema indicada por la clave especificada. (Traducción automática)
final var ret1 = System.getProperty("java.specification.version");
System.out.println(ret1); // 21
final var ret2 = System.getProperty("os.name");
System.out.println(ret2); // Windows 10
static String getProperty (String key, String def)
Obtiene la propiedad del sistema indicada por la clave especificada. (Traducción automática)
System.out.println(System.getProperty("aaa")); // null
System.out.println(System.getProperty("aaa", "xxx")); // "xxx"
System.out.println(System.setProperty("aaa", "bbb")); // null
System.out.println(System.getProperty("aaa")); // "bbb"
System.out.println(System.getProperty("aaa", "xxx")); // "bbb"
static SecurityManager getSecurityManager ()
En desuso, para su eliminación: este elemento API está sujeto a eliminación en una versión futura. Este método solo es útil junto con el Administrador de seguridad, que está obsoleto y sujeto a eliminación en una versión futura. (Traducción automática)
Deprecated.
static int identityHashCode (Object x)
Devuelve el mismo código hash para el objeto dado que devolvería el método predeterminado hashCode(), independientemente de que la clase del objeto dado anule o no hashCode(). (Traducción automática)
final var list1 = new ArrayList<String>();
final var list2 = new ArrayList<String>();
list1.add("abc");
list2.add("abc");
System.out.println(list1 != list2); // true
System.out.println(list1.hashCode()); // 96385
System.out.println(list2.hashCode()); // 96385
System.out.println(System.identityHashCode(list1)); // 405896924
System.out.println(System.identityHashCode(list2)); // 1309335839
static Channel inheritedChannel ()
Devuelve el canal heredado de la entidad que creó esta máquina virtual Java. (Traducción automática)
More detail : SelectorProvider.inheritedChannel
final var channel = System.inheritedChannel();
System.out.println(channel); // null
static String lineSeparator ()
Devuelve la cadena separadora de línea dependiente del sistema. (Traducción automática)
// CR
System.out.println(Integer.toString('\r')); // 13
// LF
System.out.println(Integer.toString('\n')); // 10
final var separator = System.lineSeparator();
final var codePoints = separator.codePoints().toArray();
System.out.println(Arrays.toString(codePoints));
// Result on Windows.
// ↓
// [13, 10]
// Result on Linux.
// ↓
// [10]
static void load (String filename)
Carga la biblioteca nativa especificada por el argumento del nombre de archivo. (Traducción automática)
public class JniSample {
public native int sum(int a, int b);
}
For JNI (cpp)
JNIEXPORT jint JNICALL Java_JniSample_sum
(JNIEnv*, jobject, jint a, jint b) {
return a + b;
}
Create a DLL and place it to the below.
R:\java-work\lib\JniSample.dll
public class JniMain {
public static void main(String[] args) {
final var libPath = Path.of("R:", "java-work", "lib", "JniSample.dll");
System.out.println(libPath); // R:\java-work\lib\JniSample.dll
System.load(libPath.toString());
final var sample = new JniSample();
final var ret = sample.sum(100, 200);
System.out.println(ret); // 300
}
}
static void loadLibrary (String libname)
Carga la biblioteca nativa especificada por el argumento libname. (Traducción automática)
public class JniSample {
public native int sum(int a, int b);
}
For JNI (cpp)
JNIEXPORT jint JNICALL Java_JniSample_sum
(JNIEnv*, jobject, jint a, jint b) {
return a + b;
}
Create a DLL and place it to the below.
R:\java-work\lib\JniSample.dll
public class JniMain {
public static void main(String[] args) {
System.loadLibrary("JniSample");
final var sample = new JniSample();
final var ret = sample.sum(100, 200);
System.out.println(ret); // 300
}
}
java -D"java.library.path=R:\java-work\lib" JniMain
static String mapLibraryName (String libname)
Asigna el nombre de una biblioteca a una cadena específica de la plataforma que representa una biblioteca nativa. (Traducción automática)
final var name = System.mapLibraryName("JniSample");
System.out.println(name);
// Result on Windows.
// ↓
// JniSample.dll
// Result on Linux.
// ↓
// libJniSample.so
static long nanoTime ()
Devuelve el valor actual de la fuente de tiempo de alta resolución de la máquina virtual Java en ejecución, en nanosegundos. (Traducción automática)
final var start = System.nanoTime();
System.out.println(start); // 16097871697500
Thread.sleep(1000);
final var end = System.nanoTime();
System.out.println(end); // 16098873570100
// Displays elapsed seconds.
final var sec = (end - start) / 1000000000.0;
System.out.println(sec + " sec."); // 1.003872 sec.
static void runFinalization ()
En desuso, para su eliminación: este elemento API está sujeto a eliminación en una versión futura. La finalización ha quedado obsoleta para su eliminación. (Traducción automática)
Deprecated.
static void setErr (PrintStream err)
Reasigna el flujo de salida de error "estándar". (Traducción automática)
final var outputStream = new ByteArrayOutputStream();
System.setErr(new PrintStream(outputStream));
System.err.println("abcd");
System.out.println("outputStream : " + outputStream);
// Result
// ↓
//outputStream : abcd
static void setIn (InputStream in)
Reasigna el flujo de entrada "estándar". (Traducción automática)
final var bytes = "abcd\n".getBytes();
System.setIn(new ByteArrayInputStream(bytes));
final var scanner = new Scanner(System.in);
final var line = scanner.nextLine();
System.out.println(line); // abcd
static void setOut (PrintStream out)
Reasigna el flujo de salida "estándar". (Traducción automática)
final var outputStream = new ByteArrayOutputStream();
System.setOut(new PrintStream(outputStream));
System.out.println("abcd");
System.err.println("outputStream : " + outputStream);
// Result
// ↓
//outputStream : abcd
static void setProperties (Properties props)
Establece las propiedades del sistema en el argumento Propiedades. (Traducción automática)
final var src = new Properties();
src.putAll(System.getProperties());
src.setProperty("aaa", "xxx");
src.setProperty("bbb", "yyy");
src.setProperty("ccc", "zzz");
System.setProperties(src);
final var dst = System.getProperties();
dst.forEach((key, value) -> System.out.println(key + " : " + value));
// Result
// ↓
//...
//java.specification.version : 21
//os.name : Windows 10
//...
//aaa : xxx
//bbb : yyy
//ccc : zzz
static String setProperty (String key, String value)
Establece la propiedad del sistema indicada por la clave especificada. (Traducción automática)
System.out.println(System.getProperty("aaa")); // null
System.out.println(System.setProperty("aaa", "bbb")); // null
System.out.println(System.getProperty("aaa")); // "bbb"
static void setSecurityManager (SecurityManager sm)
En desuso, para su eliminación: este elemento API está sujeto a eliminación en una versión futura. Este método solo es útil junto con el Administrador de seguridad, que está obsoleto y sujeto a eliminación en una versión futura. (Traducción automática)
Deprecated.
Related posts
- Ejemplos de API