Java : Formatter (String Syntax) con ejemplos
Formatter (Java SE 22 & JDK 22) en Java con ejemplos.
Encontrará ejemplos de código en la mayoría de los métodos de Formatter.
Nota :
- Este artículo puede utilizar software de traducción para su comodidad. Consulte también la versión original en inglés.
Summary
Un intérprete para cadenas de formato de estilo printf. Esta clase proporciona compatibilidad con la justificación y alineación del diseño, formatos comunes para datos numéricos, de cadena y de fecha y hora, y salida específica de la configuración regional. (Traducción automática)
try (final var formatter = new Formatter()) {
formatter.format("str = %s : num = %d", "abc", 1234);
final var str = formatter.toString();
System.out.println(str); // str = abc : num = 1234
}
try (final var formatter = new Formatter()) {
final var value = "abc";
formatter.format("%s : %S", value, value);
final var str = formatter.toString();
System.out.println(str); // abc : ABC
}
try (final var formatter = new Formatter()) {
final var value = 'x';
formatter.format("%c : %C", value, value);
final var str = formatter.toString();
System.out.println(str); // x : X
}
try (final var formatter = new Formatter()) {
final var value = 255;
formatter.format("%d : %x : %X", value, value, value);
final var str = formatter.toString();
System.out.println(str); // 255 : ff : FF
}
try (final var formatter = new Formatter()) {
final var value = 0.12345;
formatter.format("%e : %f", value, value);
final var str = formatter.toString();
System.out.println(str); // 1.234500e-01 : 0.123450
}
try (final var formatter = new Formatter()) {
formatter.format("%1$d : %2$d : %3$d", 111, 222, 333);
System.out.println(formatter); // 111 : 222 : 333
}
try (final var formatter = new Formatter()) {
formatter.format("%3$d : %2$d : %1$d", 111, 222, 333);
System.out.println(formatter); // 333 : 222 : 111
}
Constructors
Formatter ()
Construye un nuevo formateador. (Traducción automática)
try (final var formatter = new Formatter()) {
formatter.format("%s : %d", "abc", 1234);
System.out.println(formatter); // abc : 1234
}
Formatter (File file)
Construye un nuevo formateador con el archivo especificado. (Traducción automática)
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
try (final var formatter = new Formatter(file.toFile())) {
formatter.format("%s : %d", "abc", 1234);
}
System.out.println(Files.readString(file)); // abc : 1234
Formatter (File file, String csn)
Construye un nuevo formateador con el archivo y juego de caracteres especificados. (Traducción automática)
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
final var csn = "Shift_JIS";
try (final var formatter = new Formatter(file.toFile(), csn)) {
formatter.format("%s : %d", "○△×", 1234);
}
System.out.println(Files.readString(file, Charset.forName(csn))); // ○△× : 1234
Formatter (File file, String csn, Locale l)
Construye un nuevo formateador con el archivo, el conjunto de caracteres y la configuración regional especificados. (Traducción automática)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
final var csn = StandardCharsets.UTF_8.name();
System.out.println(csn); // UTF-8
try (final var formatter = new Formatter(file.toFile(), csn)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(Files.readString(file, Charset.forName(csn))); // Sunday
try (final var formatter = new Formatter(file.toFile(), csn, Locale.JAPAN)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(Files.readString(file, Charset.forName(csn))); // 日曜日
Formatter (File file, Charset charset, Locale l)
Construye un nuevo formateador con el archivo, el conjunto de caracteres y la configuración regional especificados. (Traducción automática)
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
final var charset = StandardCharsets.UTF_8;
try (final var formatter = new Formatter(file.toFile(), charset, Locale.US)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(Files.readString(file, charset)); // Sunday
try (final var formatter = new Formatter(file.toFile(), charset, Locale.JAPAN)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(Files.readString(file, charset)); // 日曜日
Formatter (OutputStream os)
Construye un nuevo formateador con el flujo de salida especificado. (Traducción automática)
final var os = new ByteArrayOutputStream();
try (final var formatter = new Formatter(os)) {
formatter.format("%s : %d", "abc", 1234);
}
System.out.println(os); // abc : 1234
Formatter (OutputStream os, String csn)
Construye un nuevo formateador con el flujo de salida y el conjunto de caracteres especificados. (Traducción automática)
final var csn = "Shift_JIS";
final var os = new ByteArrayOutputStream();
try (final var formatter = new Formatter(os, csn)) {
formatter.format("%s : %d", "○△×", 1234);
}
System.out.println(os.toString(csn)); // ○△× : 1234
Formatter (OutputStream os, String csn, Locale l)
Construye un nuevo formateador con el flujo de salida, el conjunto de caracteres y la configuración regional especificados. (Traducción automática)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var csn = StandardCharsets.UTF_8.name();
System.out.println(csn); // UTF-8
{
final var os = new ByteArrayOutputStream();
try (final var formatter = new Formatter(os, csn)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(os.toString(csn)); // Sunday
}
{
final var os = new ByteArrayOutputStream();
try (final var formatter = new Formatter(os, csn, Locale.JAPAN)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(os.toString(csn)); // 日曜日
}
Formatter (OutputStream os, Charset charset, Locale l)
Construye un nuevo formateador con el flujo de salida, el conjunto de caracteres y la configuración regional especificados. (Traducción automática)
final var charset = StandardCharsets.UTF_8;
final var os = new ByteArrayOutputStream();
try (final var formatter = new Formatter(os, charset, Locale.US)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(os.toString(charset)); // Sunday
final var charset = StandardCharsets.UTF_8;
final var os = new ByteArrayOutputStream();
try (final var formatter = new Formatter(os, charset, Locale.JAPAN)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(os.toString(charset)); // 日曜日
Formatter (PrintStream ps)
Construye un nuevo formateador con el flujo de impresión especificado. (Traducción automática)
final var out = new ByteArrayOutputStream();
try (final var ps = new PrintStream(out)) {
try (final var formatter = new Formatter(ps)) {
formatter.format("%s : %d", "abc", 1234);
}
}
System.out.println(out); // abc : 1234
Formatter (Appendable a)
Construye un nuevo formateador con el destino especificado. (Traducción automática)
final var a = new StringBuilder();
try (final var formatter = new Formatter(a)) {
formatter.format("%s : %d", "abc", 1234);
}
System.out.println(a); // abc : 1234
Formatter (Appendable a, Locale l)
Construye un nuevo formateador con el destino y la configuración regional especificados. (Traducción automática)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
{
final var a = new StringBuilder();
try (final var formatter = new Formatter(a)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(a); // Sunday
}
{
final var a = new StringBuilder();
try (final var formatter = new Formatter(a, Locale.JAPAN)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(a); // 日曜日
}
Formatter (String fileName)
Construye un nuevo formateador con el nombre de archivo especificado. (Traducción automática)
final var file = Path.of("R:", "java-work", "aaa.txt");
final var fileName = file.toString();
System.out.println(fileName); // R:\java-work\aaa.txt
try (final var formatter = new Formatter(fileName)) {
formatter.format("%s : %d", "abc", 1234);
}
System.out.println(Files.readString(file)); // abc : 1234
Formatter (String fileName, String csn)
Construye un nuevo formateador con el nombre de archivo y el juego de caracteres especificados. (Traducción automática)
final var file = Path.of("R:", "java-work", "aaa.txt");
final var fileName = file.toString();
System.out.println(fileName); // R:\java-work\aaa.txt
final var csn = "Shift_JIS";
try (final var formatter = new Formatter(fileName, csn)) {
formatter.format("%s : %d", "○△×", 1234);
}
System.out.println(Files.readString(file, Charset.forName(csn))); // ○△× : 1234
Formatter (String fileName, String csn, Locale l)
Construye un nuevo formateador con el nombre de archivo, el conjunto de caracteres y la configuración regional especificados. (Traducción automática)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
final var file = Path.of("R:", "java-work", "aaa.txt");
final var fileName = file.toString();
System.out.println(fileName); // R:\java-work\aaa.txt
final var csn = StandardCharsets.UTF_8.name();
System.out.println(csn); // UTF-8
try (final var formatter = new Formatter(fileName, csn)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(Files.readString(file, Charset.forName(csn))); // Sunday
try (final var formatter = new Formatter(fileName, csn, Locale.JAPAN)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(Files.readString(file, Charset.forName(csn))); // 日曜日
Formatter (String fileName, Charset charset, Locale l)
Construye un nuevo formateador con el nombre de archivo, el conjunto de caracteres y la configuración regional especificados. (Traducción automática)
final var file = Path.of("R:", "java-work", "aaa.txt");
final var fileName = file.toString();
System.out.println(fileName); // R:\java-work\aaa.txt
final var charset = StandardCharsets.UTF_8;
try (final var formatter = new Formatter(fileName, charset, Locale.US)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(Files.readString(file, charset)); // Sunday
try (final var formatter = new Formatter(fileName, charset, Locale.JAPAN)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
}
System.out.println(Files.readString(file, charset)); // 日曜日
Formatter (Locale l)
Construye un nuevo formateador con la configuración regional especificada. (Traducción automática)
try (final var formatter = new Formatter(Locale.US)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
System.out.println(formatter); // Sunday
}
try (final var formatter = new Formatter(Locale.JAPAN)) {
formatter.format("%tA", DayOfWeek.SUNDAY);
System.out.println(formatter); // 日曜日
}
Methods
void close ()
Cierra este formateador. (Traducción automática)
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
try (final var formatter = new Formatter(file.toFile())) {
formatter.format("%s : %d", "abc", 1234);
}
System.out.println(Files.readString(file)); // abc : 1234
// An example without a try-with-resources statement.
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
final var formatter = new Formatter(file.toFile());
try {
formatter.format("%s : %d", "abc", 1234);
} finally {
formatter.close();
}
System.out.println(Files.readString(file)); // abc : 1234
void flush ()
Limpia este formateador. (Traducción automática)
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
try (final var formatter = new Formatter(file.toFile())) {
formatter.format("abc");
System.out.println(Files.readString(file).isEmpty()); // true
formatter.flush();
System.out.println(Files.readString(file)); // abc
formatter.format("XYZ");
System.out.println(Files.readString(file)); // abc
}
System.out.println(Files.readString(file)); // abcXYZ
Formatter format (String format, Object... args)
Escribe una cadena formateada en el destino de este objeto utilizando la cadena de formato y los argumentos especificados. (Traducción automática)
try (final var formatter = new Formatter()) {
final var value = "abc";
formatter.format("%s : %S", value, value);
final var str = formatter.toString();
System.out.println(str); // abc : ABC
}
try (final var formatter = new Formatter()) {
final var value = 'x';
formatter.format("%c : %C", value, value);
final var str = formatter.toString();
System.out.println(str); // x : X
}
try (final var formatter = new Formatter()) {
final var value = 255;
formatter.format("%d : %x : %X", value, value, value);
final var str = formatter.toString();
System.out.println(str); // 255 : ff : FF
}
try (final var formatter = new Formatter()) {
final var value = 0.12345;
formatter.format("%e : %f", value, value);
final var str = formatter.toString();
System.out.println(str); // 1.234500e-01 : 0.123450
}
Formatter format (Locale l, String format, Object... args)
Escribe una cadena formateada en el destino de este objeto utilizando la configuración regional, la cadena de formato y los argumentos especificados. (Traducción automática)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
try (final var formatter = new Formatter()) {
formatter.format("%tA", DayOfWeek.SUNDAY);
System.out.println(formatter); // Sunday
}
try (final var formatter = new Formatter()) {
formatter.format(Locale.JAPAN, "%tA", DayOfWeek.SUNDAY);
System.out.println(formatter); // 日曜日
}
IOException ioException ()
Devuelve la última IOException lanzada por el Appendable de este formateador. (Traducción automática)
try (final var formatter = new Formatter()) {
formatter.format("%s : %d", "abc", 1234);
System.out.println(formatter); // abc : 1234
final var ret = formatter.ioException();
System.out.println(ret); // null
}
final var file = Path.of("R:", "java-work", "aaa.txt");
System.out.println(file); // R:\java-work\aaa.txt
try (final var out = Files.newOutputStream(file);
final var formatter = new Formatter(out)) {
// Intentionally closes the out object to make an error.
out.close();
formatter.format("%s : %d", "abc", 1234);
formatter.flush();
final var ret = formatter.ioException();
System.out.println(ret); // java.nio.channels.ClosedChannelException
}
Locale locale ()
Devuelve la configuración regional establecida por la construcción de este formateador. (Traducción automática)
System.out.println(Locale.getDefault().toLanguageTag()); // en-US
try (final var formatter = new Formatter()) {
System.out.println(formatter.locale().toLanguageTag()); // en-US
formatter.format("%tA", DayOfWeek.SUNDAY);
System.out.println(formatter); // Sunday
}
try (final var formatter = new Formatter(Locale.JAPAN)) {
System.out.println(formatter.locale().toLanguageTag()); // ja-JP
formatter.format("%tA", DayOfWeek.SUNDAY);
System.out.println(formatter); // 日曜日
}
Appendable out ()
Devuelve el destino de la salida. (Traducción automática)
try (final var formatter = new Formatter()) {
final var out = formatter.out();
System.out.println(out.getClass().getSimpleName()); // StringBuilder
}
try (final var formatter = new Formatter(new ByteArrayOutputStream())) {
final var out = formatter.out();
System.out.println(out.getClass().getSimpleName()); // BufferedWriter
}
String toString ()
Devuelve el resultado de invocar toString() en el destino de la salida. (Traducción automática)
try (final var formatter = new Formatter()) {
final var value = "abc";
formatter.format("%s : %S", value, value);
final var str = formatter.toString();
System.out.println(str); // abc : ABC
}
try (final var formatter = new Formatter()) {
final var value = 'x';
formatter.format("%c : %C", value, value);
final var str = formatter.toString();
System.out.println(str); // x : X
}
try (final var formatter = new Formatter()) {
final var value = 255;
formatter.format("%d : %x : %X", value, value, value);
final var str = formatter.toString();
System.out.println(str); // 255 : ff : FF
}
try (final var formatter = new Formatter()) {
final var value = 0.12345;
formatter.format("%e : %f", value, value);
final var str = formatter.toString();
System.out.println(str); // 1.234500e-01 : 0.123450
}