JavaTM Platform
Standard Ed. 6

java.util
클래스 Formatter

java.lang.Object 
  상위를 확장 java.util.Formatter
모든 구현된 인터페이스:
Closeable , Flushable


public final class Formatter
extends Object
implements Closeable , Flushable

printf 형식의 캐릭터 라인용의 interpreter. 이 클래스는, 행 가지런히 하고 및 수평 배치 레이아웃, 수치, 캐릭터 라인, 및 일자/시각 데이터용의 공통 서식, 로케일 고유의 출력을 지원합니다. byte,BigDecimal , 및 Calendar 등의 공통 Java 타입이 지원됩니다. 임의의 사용자 타입용의 제한된 서식 커스터마이즈가,Formattable 인터페이스를 개입시켜 제공됩니다.

multi-thread 액세스를 실행하는 경우, 포매터는 반드시 안전하지는 않습니다. thread의 안전성은 이 클래스의 메소드를 사용하는 사용자에 의해 옵션으로 보증됩니다.

Java 언어의 서식 첨부 출력은, C 의 printf 의 영향을 크게 받고 있습니다. 서식 캐릭터 라인은 C 를 닮아 있습니다만, Java 언어에 대응해, 그 기능을 활용하기 위해서, 일부가 커스터마이즈 되고 있습니다. 또, Java 의 서식은, C 보다 엄밀합니다. 예를 들어, 변환이 플래그와 호환성이 없는 경우, 예외가 throw 됩니다. C 에서는, 적용 불가능한 플래그는, 무시될 뿐입니다. 이 때문에, 서식 캐릭터 라인은, C 프로그래머에게 친숙함이 있는 것이 되어 있습니다만, C 와의 완전한 호환성을 유지하고 있는 것은 아닙니다.

사용예:

   StringBuilder sb = new StringBuilder();
   // Send all output to the Appendable object sb
   Formatter formatter = new Formatter(sb, Locale.US);

   // Explicit argument indices may be used to re-order output.
   formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
   // -> " d  c  b  a"

   // Optional locale as the first argument can be used to get
   // locale-specific formatting of numbers.   The precision and width can be
   // given to round and align the value.
   formatter.format(Locale.FRANCE, "e = %+10. 4f", Math.E);
   // -> "e =    +2, 7183"

   // The '(' numeric flag may be used to format negative numbers with
   // parentheses rather than a minus sign.   Group separators are
   // automatically inserted.
   formatter.format("Amount gained or lost since last statement: $ %(,. 2f",
                    balanceDelta);
   // -> "Amount gained or lost since last statement: $ (6,217.58)"
 

일반적인 서식 설정 요구로 사용 가능한 편리한 메소드가 존재합니다.

   // Writes a formatted string to System.out.
   System.out.format("Local time: %tT", Calendar.getInstance());
   // -> "Local time: 13:34:18"

   // Writes formatted output to System.err.
   System.err.printf("Unable to open file '%1$s': %2$s",
                     fileName, exception.getMessage());
   // -> "Unable to open file 'food': No such file or directory"
 

C 의 sprintf(3) 와 같게, static 메소드 String.format 를 사용해 캐릭터 라인의 서식을 설정할 수 있습니다.

   // Format a string containing a date.
   import java.util.Calendar;
   import java.util.GregorianCalendar;
   import static java.util.Calendar. *;

   Calendar c = new GregorianCalendar(1995, MAY, 23);
   String s = String.format("Duke's Birthday: %1$tm %1$te, %1$tY", c);
   // -> s == "Duke's Birthday: May 23, 1995"
 

구성

이 스펙은, 2 개의 섹션으로 나눌 수 있습니다. 최초의「개요」섹션에서는, 서식 설정의 기본적인 개념을 취급합니다. 이 섹션은, 이 클래스를 곧바로 이용하는 것을 바란다, 다른 프로그램 언어에서의 서식 첨부 출력에 익숙한 사용자를 대상으로 하고 있습니다. 계속되는「상세」섹션에서는, 이 클래스에 고유의 구현의 상세를 설명합니다. 이 섹션은, 보다 엄밀한 스펙의 서식 설정을 필요로 하는 사용자를 대상으로 하고 있습니다.

통계

이 섹션에서는, 서식 설정의 개요를 간결하게 설명합니다. 동작의 상세한 것에 대하여는,「상세」섹션을 참조해 주세요.

서식 캐릭터 라인의 구문

서식 첨부의 출력을 생성하는 각 메소드에는, 「서식 캐릭터 라인」과「인수 리스트」를 지정할 필요가 있습니다. 서식 캐릭터 라인은 String 로, 이것에는 고정의 텍스트와 1 개 이상이 파묻힌 「서식 지시자」를 포함할 수가 있습니다. 다음에 예를 나타냅니다.

   Calendar c = ...;
   String s = String.format("Duke's Birthday: %1$tm %1$te, %1$tY", c);
 
이 경우, 서식 캐릭터 라인은 format 메소드의 최초의 인수입니다. 이것에는, 인수의 처리 방법 및 텍스트내의 삽입 위치를 나타내는 3 개의 서식 지시자 「%1$tm」, 「%1$te」, 및 「%1$tY」가 포함됩니다. 서식 캐릭터 라인의 나머지의 부분은 고정 텍스트로, 「Dukes Birthday:"」 및 다른 공백이나 구두점이 포함됩니다. 인수 리스트는, 서식 캐릭터 라인의 후에 메소드에게 건네지는 모든 인수로 구성됩니다. 전술한 예에서는, 인수 리스트의 사이즈는 1 으로,달력 객체 c 로 구성됩니다.

변환

변환은, 다음의 카테고리로 나눌 수 있습니다.

  1. 일반 - 임의의 인수형에 적용된다
  2. 문자 - Unicode 문자를 나타내는 기본형 char,Character ,byte,Byte ,short, 및 Short 에 적용됩니다. Character.isValidCodePoint(int)true 를 돌려주는 경우, 이 변환은,intInteger 형에도 적용됩니다.
  3. 수치
    1. 정수 - byte,Byte ,short,Short ,int,Integer ,long,Long , 및 BigInteger 등의 Java 정수형에 적용됩니다.
    2. 부동 소수점 - float,Float ,double,Double , 및 BigDecimal 등의 Java 부동 소수점형에 적용됩니다.
  4. 일자/시각 - long,Long ,Calendar , 및 Date 등, 일자 또는 시각의 인코딩이 가능한 Java 형에 적용됩니다.
  5. 퍼센트 - 리터럴 「%」(\u0025)을 생성합니다.
  6. 행 단락 문자 - 플랫폼 고유의 행 단락 문자를 생성합니다.

다음의 겉(표)는, 지원하는 변환을 요약한 것입니다. 대문자 (B, H, S, C, X, E, G, A, 및 T 등)로 나타내진 변환은, 각각의 소문자를 사용하는 변환과 같습니다만, 변환의 결과는 일반적으로 사용되고 있는 Locale 의 규칙에 따라 대문자에 변환됩니다. 결과는, 다음의 String.toUpperCase() 를 호출했을 경우와 같게 됩니다.

out.toUpperCase() 
변환 인수의 카테고리 설명
b,B 일반 인수 argnull 의 경우, 결과는 false 가 됩니다. argboolean 또는 Boolean 의 경우, 결과는 String.valueOf() 에 의해 반환되는 캐릭터 라인이 됩니다. 그렇지 않은 경우, 결과는 true 가 됩니다.
h,H 일반 인수 argnull 의 경우, 결과는 null 가 됩니다. 그렇지 않은 경우, 결과는,Integer.toHexString(arg.hashCode()) 의 호출로 취득됩니다.
s,S 일반 인수 argnull 의 경우, 결과는 null 가 됩니다. argFormattable 를 구현하는 경우에,arg.formatTo 가 불려 갑니다. 그렇지 않은 경우, 결과는 arg.toString() 의 호출로 취득됩니다.
c,C 문자 결과는 Unicode 문자입니다.
'd' 정수 결과는, 10 진정수로서 서식 설정됩니다.
'o' 정수 결과는, 8 진정수로서 서식 설정됩니다.
'x','X' 정수 결과는, 16 진정수로서 서식 설정됩니다.
'e','E' 부동 소수점 결과는, 부동 소수점 표시 형식의 10 진수로서 서식 설정됩니다.
'f' 부동 소수점 결과는, 10 진수로서 서식 설정됩니다.
g,G 부동 소수점 결과는, 사사오입 처리 후의 정밀도 및 값에 응해 부동 소수점 표시 형식 또는 10 진수 서식을 사용해 서식 설정됩니다.
a,A 부동 소수점 결과는, 유효 숫자 및 지수를 가지는 부동 소수점수(실수)로서 서식 설정됩니다.
t,T 일자/시각 일자 및 시각 변환 문자의 접두사입니다. 「일자/시각 변환」을 참조해 주세요.
'%' percent 결과는, 리터럴 「%」(\u0025)이 됩니다.
'n' 행 단락 문자 결과는, 플랫폼 고유의 행 단락 문자입니다.

변환으로서 명시적으로 정의되어 있지 않은 문자는 모두 부정하고, 장래의 기능확장에 대비해 예약되고 있습니다.

일자/시각 변환

다음날 부 및 시각 변환 문자의 접미사(suffix)이,tT 변환용으로 정의되고 있습니다. 이 형태는, GNU date 및 POSIX strftime(3c) 로 정의된 형태에 유사하고 있습니다만 완전하게 동일하지는 않습니다. 초내의 밀리 세컨드를 나타내는 L 등, Java 고유의 기능에 액세스하기 위한 추가의 변환형이 제공되고 있습니다.

시각의 서식 설정에서는, 다음의 변환 문자가 사용됩니다.

'H' 24 시간제때. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (00 - 23).
'I' 12 시간제때. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (00 -12).
'k' 24 시간제때 (0 - 23).
'l' 12 시간제때 (1 - 12).
'M' 분. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (00 - 59).
'S' 초. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (00 - 60). 60」은 윤년에서의 초의 지원에 필요한 특수한 값입니다.
'L' 밀리 세컨드. 필요에 따라서 0 을 선두에 추가해, 3 자리수로 표현합니다 (000 - 999).
'N' 나노초. 필요에 따라서 0 을 선두에 추가해, 9 자리수로 표현합니다 (000000000 - 999999999).
'p' 로케일에 특정의오전 또는 오후의 소문자 (am 또는 pm 등)의 마커. 변환 접두사의 T 를 사용하면(자), 결과는 대문자로 강제 출력됩니다.
'z' RFC 822 에 준거한, GMT 로부터의 수치 타임 존 오프셋(offset) (-0800 등).
'Z' 타임 존의 생략형을 나타내는 캐릭터 라인. Formatter 의 로케일은, 인수의 로케일 (존재하는 경우)보다 우선됩니다.
's' 1970 년 1 월 1 일 00:00:00 UTC 의 신기원 개시부터의 초 (Long.MIN_VALUE/1000 로부터 Long.MAX_VALUE/1000 까지).
'Q' 1970 년 1 월 1 일 00:00:00 UTC 의 신기원 개시부터 (즉,Long.MIN_VALUE 로부터 Long.MAX_VALUE 까지)의 밀리 세컨드.

일자의 서식 설정에서는, 다음의 변환 문자가 사용됩니다.

'B' 로케일 고유의달의 완전한 이름 ( 「January」, 「February」 등).
'b' 로케일 고유의달의 생략명 ( 「Jan」, 「Feb」 등).
'h' 'b' 와 같다.
'A' 로케일 고유의요일의 완전한 이름 ( 「Sunday」, 「Monday」 등).
'a' 로케일 고유의요일의 단축명 ( 「Sun」, 「Mon」 등).
'C' 4 자리수의 해를 100 으로 나눈 값. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표시합니다 (00 - 99).
'Y' 년. 필요에 따라서 0 을 선두에 추가해, 4 자리수 이상으로 표현합니다. 예를 들어,0092 는, 그레고리오력의 92 CE 와 등가입니다.
'y' 해하 2 자리수. 필요에 따라서 0 을 선두에 추가합니다 (00 - 99).
'j' 해의 며칠눈인지를 나타내는 날. 필요에 따라서 0 을 선두에 추가해, 3 자리수로 표현합니다. 예를 들어, 그레고리오력의 경우,001 - 366 이 됩니다.
'm' 월. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (01 - 13).
'd' 달의 며칠눈인지를 나타내는 날. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (01 -31).
'e' 달의 며칠눈인지를 나타내는 날. 최대 2 자리수로 표현합니다 (1 - 31).

일반의 일자/시각 변환의 서식 설정에서는, 다음의 변환 문자가 사용됩니다.

'R' %tH:%tM로서 24 시간제로 서식 설정되었을 때 각.
'T' %tH:%tM:%tS로서 24 시간제로 서식 설정되었을 때 각.
'r' "%tI:%tM:%tS %Tp"로서 12 시간제로 서식 설정되었을 때 각. 오전 및 오후 마커의 위치 ('%Tp')는 로케일에 의해 다릅니다.
'D' %tm/%td/%ty로서 서식 설정된 일자.
'F' %tY-%tm-%td로서 서식 설정된,ISO 8601 에 준거한 일자.
'c' %ta %tb %td %tT %tZ %tY로서 서식 설정된 일자 및 시각 ( 「Sun Jul 20 16:17:00 EDT 1969」 등).

일자/시각 변환의 접미사(suffix)로서 명시적으로 정의되어 있지 않은 문자는 모두 부정하고, 장래의 기능확장에 대비해 예약되고 있습니다.

플래그

다음의 겉(표)에, 지원되는 플래그의 개요를 나타냅니다. y 는, 지정된 인수형으로 플래그가 지원되는 것을 의미합니다.

플래그 전반 문자 정수 부동 소수점 일자/시각 설명
'-' y y y y y 결과는 왼쪽 가지런히 하가 됩니다.
'#' y1 - y3 y - 결과는, 변환에 의존하는 대체 폼을 사용할 필요가 있습니다.
'+' - - y4 y - 결과에는, 항상 부호가 포함됩니다.
'  ' - - y4 y - 결과의 선두에는, 정의 값을 나타내는 공백이 포함됩니다.
'0' - - y y - 결과에는 제로가 추가됩니다.
', ' - - y2 y5 - 결과에는, 로케일 고유의그룹화 단락 문자가 포함됩니다.
'(' - - y4 y5 - 부의 수치를 괄호로 둘러쌉니다.

1 Formattable 의 정의에 의존한다

2 'd' 변환만

3 'o','x', 및 'X' 변환만

4 'd','o','x', 및 'X' 변환이 BigInteger 에 적용되는지,'d'byte,Byte ,short,Short ,int,Integer ,long, 및 Long 에 적용되는 경우

5 'e','E','f','g', 및 'G' 변환만

변환으로서 명시적으로 정의되어 있지 않은 플래그는 모두 부정하고, 장래의 기능확장에 대비해 예약되고 있습니다.

Width

width 는, 출력에 기입해지는 최소 문자수입니다. 행 단락 문자 변환에서는, width 는 사용할 수 없습니다. width 가 지정되었을 경우, 에러가 throw 됩니다.

Precision

일반의 인수형에서는, precision 는 출력에 기입해지는 최대 문자수입니다.

'e','E', 및 'f' 의 부동 소수점의 변환에서는, precision 는 10 진수의 단락 문자의 뒤의 자리수가 됩니다. 변환이 'g' 또는 'G' 의 경우는, 사사오입 처리 후의 결과로서 얻을 수 있는 절대치의 합계 자리수가 됩니다. 'a' 또는 'A' 의 변환의 경우는, precision 는 지정되지 않습니다.

문자, 정수, 일자/시각 인수 타입, 및 퍼센트, 행 단락 문자 변환의 경우, precision 는 적용할 수 없습니다. precision 가 지정되었을 경우, 예외가 throw 됩니다.

인수의 인덱스

인수 인덱스는, 인수 리스트내에서의 인수의 위치를 나타내는 10 진정수입니다. 최초의 인수는 「1$」, 2 번째의 인수는 「2$」으로 참조됩니다.

위치에서 인수를 참조하는 다른 방법은,'<' ('\u003c') 플래그를 사용하는 것입니다. 이 플래그를 지정하면(자), 이전의 서식 지시자의 인수가 재사용됩니다. 예를 들어, 다음의 2 개의 문장에서는, 동일한 캐릭터 라인이 생성됩니다.

   Calendar c = ...;
   String s1 = String.format("Duke's Birthday: %1$tm %1$te, %1$tY", c);

   String s2 = String.format("Duke's Birthday: %1$tm %<te, %<tY", c);
 

상세

이 섹션에서는, 조건이나 예외, 지원되는 데이터형, 로컬라이제이션, 및 플래그, 변환, 데이터형간의 상호작용을 포함한, 서식 설정의 동작의 상세를 나타냅니다. 서식 설정의 개념에 대해서는,「개요」를 참조해 주세요.

변환, 일자/시각 변환의 접미사(suffix), 또는 플래그로서 명시적으로 선언되어 있지 않은 문자는 모두 부정하고, 장래의 기능확장에 대비해 예약되고 있습니다. 서식 캐릭터 라인내에서 이런 종류의 문자를 사용하면(자),UnknownFormatConversionException 또는 UnknownFormatFlagsException 가 throw 됩니다.

서식 지시자에게 width 가 포함되는 경우, precision 에 부정한 값이 있는 경우, 또는 서식 지시자가 지원되지 않는 경우는,IllegalFormatWidthException 또는 IllegalFormatPrecisionException 가 각각 throw 됩니다.

서식 지시자에게, 대응하는 인수에 적용 불가능한 변환 문자가 포함되는 경우,IllegalFormatConversionException 가 throw 됩니다.

지정된 예외는 모두,Formatterformat() 메소드의 언젠가, 및 String.formatPrintStream.printf 등의 format 편리한 메소드의 어느 쪽인가에보다 throw 됩니다.

대문자 (B, H, S, C, X, E, G, A, 및 T 등)로 나타내진 변환은, 각각의 소문자를 사용하는 변환과 같습니다만, 변환의 결과는 일반적으로 사용되고 있는 Locale 의 규칙에 따라 대문자에 변환됩니다. 결과는, 다음의 String.toUpperCase() 를 호출했을 경우와 같게 됩니다.

out.toUpperCase() 

전반

다음의 일반 변환을, 임의의 인수형에 적용할 수 있습니다.

'b' '\u0062' Boolean.toString(boolean) 에 의해 반환되는 true 또는 false 를 생성합니다.

인수가 null 의 경우, 결과는 false 가 됩니다. 인수가 boolean 또는 Boolean 의 경우, 결과는 String.valueOf() 에 의해 반환되는 캐릭터 라인이 됩니다. 그렇지 않은 경우, 결과는 true 가 됩니다.

'#' 플래그가 지정되었을 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'B' '\u0042' 'b' 의 대문자의 변형
'h' '\u0068' 객체의 해시 코드값를 나타내는 캐릭터 라인을 생성합니다.

인수 argnull 의 경우, 결과는 null 가 됩니다. 그렇지 않은 경우, 결과는,Integer.toHexString(arg.hashCode()) 의 호출로 취득됩니다.

'#' 플래그가 지정되었을 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'H' '\u0048' 'h' 의 대문자의 변형
's' '\u0073' 캐릭터 라인을 생성합니다.

인수가 null 의 경우, 결과는 null 가 됩니다. 인수가 Formattable 를 구현하는 경우에,formatTo 메소드가 불려 갑니다. 그렇지 않은 경우, 결과는 인수의 toString() 메소드의 호출로 취득됩니다.

'#' 플래그가 지정되어 인수가 Formattable 가 아닌 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'S' '\u0053' 's' 의 대문자의 변형

다음의플래그가 일반 변환에 적용됩니다.

'-' '\u002d' 왼쪽 가지런히 하고로 출력합니다. 필요하게 응해 변환된 값의 말미에 공백 ('\u0020')이 추가되어, 필드의 최소폭이 채워집니다. width 가 지정되어 있지 않은 경우,MissingFormatWidthException 가 throw 됩니다. 이 플래그가 설정되어 있지 않은 경우, 오른쪽맞춤으로 출력됩니다.
'#' '\u0023' 출력으로 대체 폼을 사용할 필요가 있습니다. 폼의 정의는 변환으로 지정됩니다.

width 는, 출력에 기입해지는 최소 문자수입니다. 변환 후의 값의 길이가 width 보다 작은 경우, 총문자수가 width 에 동일해질 때까지 출력에 '  ' (\u0020')가 패딩 됩니다. 디폴트에서는, 좌측으로 패딩 됩니다. '-' 플래그가 지정되었을 경우, 우측으로 패딩 됩니다. width 가 지정되어 있지 않은 경우, 최소치는 존재하지 않습니다.

precision 는, 출력에 기입해지는 최대 문자수입니다. precision 는 width 의 전에 적용되기 (위해)때문에, width 의 값이 precision 보다 큰 경우에서도, 출력은 precision 로 지정된 문자수에 절약할 수 있습니다. precision 가 지정되어 있지 않은 경우, 문자수에 명시적인 제한은 존재하지 않습니다.

문자

이 변환은,charCharacter 에 적용할 수 있습니다. Character.isValidCodePoint(int)true 를 돌려줄 때는,byte,Byte ,short,Short ,int, 및 Integer 의 각 형에도 적용할 수 있습니다. false 를 돌려주는 경우는,IllegalFormatCodePointException 가 throw 됩니다.
'c' '\u0063' 「Unicode 문자 표현」의 기술에 따라, 인수를 Unicode 문자로서 서식 설정합니다. 인수가 보조 문자를 나타내는 경우, 이것을 1 개 이상의 16 비트 char 로 할 수 있습니다.

'#' 플래그가 지정되었을 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'C' '\u0043' 'c' 의 대문자의 변형

일반 변환용으로 정의된 '-' 플래그가 적용됩니다. '#' 플래그가 지정되었을 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

width 는,일반 변환용으로 정의됩니다.

precision 는 적용할 수 없습니다. precision 가 지정되었을 경우,IllegalFormatPrecisionException 가 throw 됩니다.

수치

수치 변환은, 다음의 카테고리로 나눌 수 있습니다.

  1. Byte, Short, Integer, 및 Long
  2. BigInteger
  3. Float 및 Double
  4. BigDecimal

수치형은, 다음의 알고리즘에 따라 서식 설정됩니다.

수치의 로컬라이제이션아르고리즘

정수부, 소수부, 및 지수 (데이터형으로 필요한 경우)의 숫자의 취득 후에, 다음의 변환이 적용됩니다.

  1. 캐릭터 라인내의 각 숫자 d 는, 현재의 로케일의제로 숫자 z 를 기준에 계산된 로케일 고유의 숫자로 옮겨놓을 수 있습니다. 즉,d -  '0'  + z 가 됩니다.
  2. 소수 단락 문자가 존재하는 경우, 로케일 고유의소수 단락 문자로 옮겨집니다.
  3. ', ' ('\u002c') 플래그가 지정되었을 경우, 로케일 고유의그룹 단락 문자가 삽입됩니다. 캐릭터 라인의 정수부를 최소 유효자리수로부터 최대 유효자리수까지 스캔 해, 로케일의그룹화 사이즈로 정의된 간격으로 단락지어 문자를 삽입합니다.
  4. '0' 플래그가 지정되었을 경우, 캐릭터 라인의 길이가 요구된 필드폭과 동일해질 때까지, 로케일 고유의제로 숫자가 기호의 뒤 (기호가 존재하는 경우), 최초의 제로 이외의 숫자의 전에 삽입됩니다.
  5. 값이 부로,'(' 플래그가 지정되고 있는 경우, 전에 '(' ('\u0028')가, 뒤로 ')' ('\u0029')가 각각 붙일 수 있습니다.
  6. 값이 부 (또는 부동 소수점의 부의 제로)로,'(' 플래그가 지정되어 있지 않은 경우, 전에 '-' ('\u002d')가 붙일 수 있습니다.
  7. '+' 플래그가 지정되어 한편 값이 정 또는 제로 (혹은 부동 소수점의 정의 제로)인 경우, 전에 '+' ('\u002b')가 붙일 수 있습니다.

값이 NaN 또는 정의 무한대의 경우, 리터럴 캐릭터 라인 「NaN」또는 「Infinity」가 각각 출력됩니다. 값이 부의 무한대의 경우,'(' 플래그가 지정되고 있으면(자) 출력은 「(Infinity)」가 되어, 그렇지 않은 경우는 「-Infinity」가 됩니다. 이러한 값의 로컬라이즈는 행해지지 않습니다.

Byte, Short, Integer, 및 Long

다음의 변환을 byte,Byte ,short,Short ,int,Integer ,long, 및 Long 에 적용할 수 있습니다.

'd' '\u0054' 인수를 10 진정수로서 서식 설정합니다. 로컬라이제이션아르고리즘이 적용됩니다.

'0' 플래그가 지정되어 값이 부의 경우, 부호의 뒤로 제로가 패딩 됩니다.

'#' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'o' '\u006f' 인수를, 기수 8 의 정수로서 서식 설정합니다. 로컬라이제이션은 적용되지 않습니다.

x 가 부의 경우, 결과는, 값에 2n 를 추가해 생성된 부호 없음의 값이 됩니다. n 는, 필요하게 응해Byte ,Short ,Integer , 또는 Long 클래스내의 static SIZE 필드에 의해 반환되는 형태의 비트수입니다.

'#' 플래그가 지정되었을 경우, 출력은 항상 기수 지시자 '0' 로 시작됩니다.

'0' 플래그가 지정되었을 경우, 출력으로는, 부호 지시에 계속되는 필드폭의 선두에 제로가 패딩 됩니다.

'(','+', '  ', 또는 ', ' 플래그가 지정되었을 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'x' '\u0078' 인수를, 기수 16 의 정수로서 서식 설정합니다. 로컬라이제이션은 적용되지 않습니다.

x 가 부의 경우, 결과는, 값에 2n 를 추가해 생성된 부호 없음의 값이 됩니다. n 는, 필요하게 응해Byte ,Short ,Integer , 또는 Long 클래스내의 static SIZE 필드에 의해 반환되는 형태의 비트수입니다.

'#' 플래그가 지정되었을 경우, 출력은 항상 기수 지시자 「0x」로 시작됩니다.

'0' 플래그가 지정되었을 경우, 출력의 필드폭의 선두에서, 기수 지시자 또는 부호 (존재하는 경우)의 뒤에 제로가 패딩 됩니다.

'(','  ','+', 또는 ', ' 플래그가 지정되었을 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'X' '\u0058' 'x' 의 대문자의 변형. 'x' (존재하는 경우) 및 모든 16 진수 'a' - 'f' ('\u0061' - '\u0066')를 포함한, 수치를 나타내는 캐릭터 라인 전체가대문자에 변환됩니다.

변환이 'o','x', 또는 'X' 로, 플래그 '#''0' 의 양쪽 모두의 플래그가 지정되고 있는 경우, 결과에는 기수 지시자 (8 진의 경우는 '0', 16 진의 경우는 "0x" 또는 "0X"), 몇개의 제로 (width 에 근거한다), 및 값이 포함됩니다.

'-' 플래그가 지정되어 있지 않은 경우, 부호의 전에 공백이 패딩 됩니다.

다음의플래그가, 수치 정수 변환에 적용됩니다.

'+' '\u002b' 출력으로, 정의 수 모두에게 정의 부호를 포함할 필요가 있습니다. 이 플래그가 지정되어 있지 않은 경우, 0 보다 작은 값에게만 부호를 포함할 수 있습니다.

플래그 '+''  ' 의 양쪽 모두가 지정되고 있는 경우,IllegalFormatFlagsException 가 throw 됩니다.

'  ' '\u0020' 출력으로, 부 이외의 값에 여분의 공백 ('\u0020')을 1 개 포함할 필요가 있습니다.

플래그 '+''  ' 의 양쪽 모두가 지정되고 있는 경우,IllegalFormatFlagsException 가 throw 됩니다.

'0' '\u0030' 출력으로, 다음의 부호 또는 기수 지시자에게 계속되는 최소 필드폭의 선두에제로를 패딩 할 필요가 있습니다 (NaN 또는 무한의 변환시를 제외하다). width 가 지정되어 있지 않은 경우,MissingFormatWidthException 가 throw 됩니다.

플래그 '-''0' 의 양쪽 모두가 지정되고 있는 경우,IllegalFormatFlagsException 가 throw 됩니다.

', ' '\u002c' 출력에 로케일 고유의그룹 단락 문자를 포함할 필요가 있습니다. 자세한 것은, 로컬라이제이션아르고리즘의그룹 섹션을 참조해 주세요.
'(' '\u0028' 출력으로, 0 보다 작은 값의 선두에 '(' ('\u0028')를, 말미에 ')' ('\u0029')를 부가할 필요가 있습니다.

플래그가 지정되지 않는 경우의, 디폴트 서식 설정은 다음과 같습니다.

width 는, 출력에 기입해지는 최소 문자수입니다. 이것에는, 부호, 숫자, 그룹화 단락 문자, 기수 지시자, 및 괄호가 포함됩니다. 변환 후의 값의 길이가 width 보다 작은 경우, 총문자수가 width 에 동일해질 때까지 출력에 공백 ('\u0020')이 패딩 됩니다. 디폴트에서는, 좌측으로 패딩 됩니다. '-' 플래그가 지정되었을 경우, 우측으로 패딩 됩니다. width 가 지정되어 있지 않은 경우, 최소치는 존재하지 않습니다.

precision 는 적용할 수 없습니다. precision 가 지정되었을 경우,IllegalFormatPrecisionException 가 throw 됩니다.

BigInteger

다음의 변환을 BigInteger 에 적용할 수 있습니다.

'd' '\u0054' 출력을 10 진정수로서 서식 설정할 필요가 있습니다. 로컬라이제이션아르고리즘이 적용됩니다.

'#' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'o' '\u006f' 출력을, 기수 8 의 정수로서 서식 설정할 필요가 있습니다. 로컬라이제이션은 적용되지 않습니다.

x 가 부의 경우, 결과는 '-' ('\u002d')로 시작되는 부호 첨0 보다 작은 값이 됩니다. 이 형태의 경우, 부호 첨부의 출력이 허가됩니다. 이것은, 원시형과는 달라, 명시적인 데이터형 사이즈를 상정하지 않고 등가인 부호 없음의 값을 작성하는 것은 불가능하기 때문에입니다.

x 가 정 또는 제로로,'+' 플래그가 지정되고 있는 경우, 결과는 '+' ('\u002b')로 시작됩니다.

'#' 플래그가 지정되었을 경우, 출력은 항상 접두사 '0' 로 시작됩니다.

'0' 플래그가 지정되었을 경우, 출력으로는, 부호 지시에 계속되는 필드폭의 선두에 제로가 패딩 됩니다.

', ' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'x' '\u0078' 출력을, 기수 16 의 정수로서 서식 설정할 필요가 있습니다. 로컬라이제이션은 적용되지 않습니다.

x 가 부의 경우, 결과는 '-' ('\u002d')로 시작되는 부호 첨0 보다 작은 값이 됩니다. 이 형태의 경우, 부호 첨부의 출력이 허가됩니다. 이것은, 원시형과는 달라, 명시적인 데이터형 사이즈를 상정하지 않고 등가인 부호 없음의 값을 작성하는 것은 불가능하기 때문에입니다.

x 가 정 또는 제로로,'+' 플래그가 지정되고 있는 경우, 결과는 '+' ('\u002b')로 시작됩니다.

'#' 플래그가 지정되었을 경우, 출력은 항상 기수 지시자 「0x」로 시작됩니다.

'0' 플래그가 지정되었을 경우, 출력의 필드폭의 선두에서, 기수 지시자 또는 부호 (존재하는 경우)의 뒤에 제로가 패딩 됩니다.

', ' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'X' '\u0058' 'x' 의 대문자의 변형. 'x' (존재하는 경우) 및 모든 16 진수 'a' - 'f' ('\u0061' - '\u0066')를 포함한, 수치를 나타내는 캐릭터 라인 전체가대문자에 변환됩니다.

변환이 'o','x', 또는 'X' 로, 플래그 '#''0' 의 양쪽 모두의 플래그가 지정되고 있는 경우, 결과에는 기저 지시자 (8 진의 경우는 '0', 16 진의 경우는 "0x" 또는 "0X"), 몇개의 제로 (width 에 근거한다), 및 값이 포함됩니다.

'0' 플래그가 지정되어 값이 부의 경우, 부호의 뒤로 제로가 패딩 됩니다.

'-' 플래그가 지정되어 있지 않은 경우, 부호의 전에 공백이 패딩 됩니다.

Byte, Short, Integer, 및 Long 용으로 정의된 모든플래그가 적용됩니다. 플래그가 지정되지 않는 경우의디폴트 동작은,Byte, Short, Integer, 및 Long 의 디폴트 동작과 같습니다.

width 의 스펙은, Byte, Short, Integer, 및 Long 로 정의된 스펙과 같습니다.

precision 는 적용할 수 없습니다. precision 가 지정되었을 경우,IllegalFormatPrecisionException 가 throw 됩니다.

Float 및 Double

다음의 변환을 float,Float ,double, 및 Double 에 적용할 수 있습니다.

'e' '\u0065' 출력을부동 소수점 표시 형식을 사용해 서식 설정할 필요가 있습니다. 로컬라이제이션아르고리즘이 적용됩니다.

절대치 m 의 서식 설정은, 값에 의해 다릅니다.

m 가 NaN 또는 무한대의 경우, 리터럴 캐릭터 라인 「NaN」또는 「Infinity」가 각각 출력됩니다. 이러한 값의 로컬라이즈는 행해지지 않습니다.

m 가 정의 제로 또는 부의 제로의 경우, 지수는 「+00」이 됩니다.

그렇지 않은 경우, 결과는, 인수의 부호 및 절대치를 나타내는 캐릭터 라인이 됩니다. 부호의 서식 설정에 대해서는,로컬라이제이션아르고리즘을 참조해 주세요. 절대치 m 의 서식 설정은, 값에 의해 다릅니다.

n 를 10n <= m < 10n+1 등의 일의의 정수로 해,a 를 1 <= a < 10 이 되는 것 같은 m 와 10n 의 수학적으로 정확한 상으로 합니다. 이 경우, 절대치는,Long.toString(long, int) 메소드로 생성되도록(듯이),a 의 정수부인 1 자리수의 10 진수, 소수점,a 의 소수부를 나타내는 10 진수, 지수 기호 'e' ('\u0065'), 지수의 기호,n 의 10 진정수 표현이 이 순서에 줄선 형태로 표현됩니다.

결과내의 m 또는 a 의 소수부의 자리수는, precision 와 동일해집니다. precision 가 지정되지 않는 경우의, 디폴트 값는 6 입니다. precision 가,Float.toString(float) 또는 Double.toString(double) 에 의해 각각 반환되는 캐릭터 라인내의 소수점 이후의 자리수보다 작은 경우, 값은반절인상 알고리즘을 사용해 사사오입 됩니다. 그렇지 않은 경우, precision 의 값에 이르도록(듯이) 말미에 제로를 부가할 수 있습니다. 값의 정규 표현에서는, 필요에 따라서 Float.toString(float) 또는 Double.toString(double) 를 사용합니다.

', ' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'E' '\u0045' 'e' 의 대문자의 변형입니다. 지수는 'E' ('\u0045')가 됩니다.
'g' '\u0067' 일반의 과학 표기법을 사용해 출력을 서식 설정할 필요가 있습니다. 로컬라이제이션아르고리즘이 적용됩니다.

precision 의 사사오입 처리 후의 결과로서 얻을 수 있는 절대치 m 의 서식 설정은, 값에 의해 다릅니다.

m 가 10-4 이상으로, 10precision 미만의 경우,10 진포맷으로 표현됩니다.

m 가 10-4 미만, 또는 10precision 이상의 경우,부동 소수점 표시 형식에서 표현됩니다.

m 의 자리수의 합계는, precision 와 동일해집니다. precision 가 지정되어 있지 않은 경우의 디폴트 값는 6 입니다. precision 가 0 의 경우는 1 이 됩니다.

'#' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'G' '\u0047' 'g' 의 대문자의 변형
'f' '\u0066' 출력을 10 진포맷을 사용해 서식 설정할 필요가 있습니다. 로컬라이제이션아르고리즘이 적용됩니다.

결과는, 인수의 부호 및 절대치를 나타내는 캐릭터 라인이 됩니다. 부호의 서식 설정에 대해서는,로컬라이제이션아르고리즘을 참조해 주세요. 절대치 m 의 서식 설정은, 값에 의해 다릅니다.

m 가 NaN 또는 무한대의 경우, 리터럴 캐릭터 라인 「NaN」또는 「Infinity」가 각각 출력됩니다. 이러한 값의 로컬라이즈는 행해지지 않습니다.

절대치의 서식은,m 의 정수부 (선두에 제로가 부가되지 않는다), 소수점, 및 m 의 소수부를 나타내는 1 개(살) 이상의 10 진수가, 이 차례로 표기된 것이 됩니다.

결과내의 m 또는 a 의 소수부의 자리수는, precision 와 동일해집니다. precision 가 지정되지 않는 경우의, 디폴트 값는 6 입니다. precision 가,Float.toString(float) 또는 Double.toString(double) 에 의해 각각 반환되는 캐릭터 라인내의 소수점 이후의 자리수보다 작은 경우, 값은반절인상 알고리즘을 사용해 사사오입 됩니다. 그렇지 않은 경우, precision 의 값에 이르도록(듯이) 말미에 제로를 부가할 수 있습니다. 값의 정규 표현에서는, 필요에 따라서 Float.toString(float) 또는 Double.toString(double) 를 사용합니다.

'a' '\u0061' 출력의 서식을 16 진의 지수로 설정할 필요가 있습니다. 로컬라이제이션은 적용되지 않습니다.

결과는, 인수 x 의 부호 및 절대치를 나타내는 캐릭터 라인이 됩니다.

x 가 부 또는 부의 제로치의 경우, 결과의 선두는 '-' ('\u002d')가 됩니다.

x 가 정 또는 정의 제로치로,'+' 플래그가 지정되고 있는 경우, 결과의 선두는 '+' ('\u002b')가 됩니다.

절대치 m 의 서식 설정은, 값에 의해 다릅니다.

  • 값이 NaN 또는 무한대의 경우, 리터럴 캐릭터 라인 「NaN」또는 「Infinity」가 각각 출력됩니다.
  • m 가 제로의 경우, 이것은 캐릭터 라인 "0x0. 0p0" 로 표현됩니다.
  • m 가 정규화된 표현을 가지는 double 치의 경우, 서브 캐릭터 라인을 사용해 유효 숫자 및 지수 필드가 표현됩니다. 유효 숫자는, 문자 「0x1」에 유효 숫자의 나머지의 부분 (소수)의 16 진표현을 부가한 것입니다. 지수는,'p' ('\u0070')에, 지수치에 대해서 Integer.toString 를 호출했는지와 같이 불편 지수의 10 진캐릭터 라인을 부가한 것입니다.
  • m 가 서브 노멀 표현을 보관 유지하는 double 치의 경우, 유효 숫자는 문자 '0x0. ' 에 유효 숫자의 나머지의 부분 (소수)의 16 진표현을 부가한 것이 됩니다. 지수는 'p-1022' 로 나타내집니다. 서브 노멀 유효 숫자내에, 제로가 아닌 숫자가 1 개 이상 존재할 필요가 있는 것에 유의해 주세요.

'(' 또는 ', ' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'A' '\u0041' 'a' 의 대문자의 변형입니다. 수치를 나타내는 캐릭터 라인 전체가 대문자에 변환됩니다. 이것에는,'x' ('\u0078'),'p' ('\u0070'), 및 모든 16 진수 'a' - 'f' ('\u0061' - '\u0066')도 포함됩니다.

Byte, Short, Integer, 및 Long 용으로 정의된 모든플래그가 적용됩니다.

'#' 플래그가 지정되고 있는 경우, 소수점이 항상 존재합니다.

플래그가 지정되지 않는 경우의, 디폴트 서식 설정은 다음과 같습니다.

width 는, 출력에 기입해지는 최소 문자수입니다. 이것에는, 부호, 숫자, 그룹화 단락 문자, 10 진수 단락 문자, 지수 기호, 기수 지시자, 괄호, 및 Infinity 와 NaN 를 규정대로 나타내는 캐릭터 라인이 포함됩니다. 변환 후의 값의 길이가 width 보다 작은 경우, 총문자수가 width 에 동일해질 때까지 출력에 공백 ('\u0020')이 패딩 됩니다. 디폴트에서는, 좌측으로 패딩 됩니다. '-' 플래그가 지정되었을 경우, 우측으로 패딩 됩니다. width 가 지정되어 있지 않은 경우, 최소치는 존재하지 않습니다.

변환'e','E', 또는 'f' 의 경우, precision 는 소수 이하의 자리수입니다. precision 가 지정되어 있지 않은 경우,6 이다고 보입니다.

변환이 'g' 또는 'G' 의 경우, precision 는, 사사오입 처리 후의 결과로서 얻을 수 있는 절대치의 유효자리수의 합계수입니다. precision 가 지정되어 있지 않은 경우의 디폴트 값는 6 입니다. precision 가 0 의 경우는 1 이 됩니다.

변환이 'a' 또는 'A'의 경우, precision 는 소수점 이하의 16 진의 자리수가 됩니다. precision 가 지정되지 않는 경우,Double.toHexString(double) 에 의해 반환되는, 모든 자리수가 출력됩니다.

BigDecimal

다음의 변환을 BigDecimal 에 적용할 수 있습니다.

'e' '\u0065' 출력을부동 소수점 표시 형식을 사용해 서식 설정할 필요가 있습니다. 로컬라이제이션아르고리즘이 적용됩니다.

절대치 m 의 서식 설정은, 값에 의해 다릅니다.

m 가 정의 제로 또는 부의 제로의 경우, 지수는 「+00」이 됩니다.

그렇지 않은 경우, 결과는, 인수의 부호 및 절대치를 나타내는 캐릭터 라인이 됩니다. 부호의 서식 설정에 대해서는,로컬라이제이션아르고리즘을 참조해 주세요. 절대치 m 의 서식 설정은, 값에 의해 다릅니다.

n 를 10n <= m < 10n+1 등의 일의의 정수로 해,a 를 1 <= a < 10 이 되는 것 같은 m 와 10n 의 수학적으로 정확한 상으로 합니다. 이 경우, 절대치는,Long.toString(long, int) 메소드로 생성되도록(듯이),a 의 정수부인 1 자리수의 10 진수, 소수점,a 의 소수부를 나타내는 10 진수, 지수 기호 'e' ('\u0065'), 지수의 기호,n 의 10 진정수 표현이 이 순서에 줄선 형태로 표현됩니다.

결과내의 m 또는 a 의 소수부의 자리수는, precision 와 동일해집니다. precision 가 지정되지 않는 경우의, 디폴트 값는 6 입니다. precision 가,Float.toString(float) 또는 Double.toString(double) 에 의해 각각 반환되는 캐릭터 라인내의 소수점 이후의 자리수보다 작은 경우, 값은반절인상 알고리즘을 사용해 사사오입 됩니다. 그렇지 않은 경우, precision 의 값에 이르도록(듯이) 말미에 제로를 부가할 수 있습니다. 값의 정규 표현에서는,BigDecimal.toString() 를 사용합니다.

', ' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'E' '\u0045' 'e' 의 대문자의 변형입니다. 지수는 'E' ('\u0045')가 됩니다.
'g' '\u0067' 일반의 과학 표기법을 사용해 출력을 서식 설정할 필요가 있습니다. 로컬라이제이션아르고리즘이 적용됩니다.

precision 의 사사오입 처리 후의 결과로서 얻을 수 있는 절대치 m 의 서식 설정은, 값에 의해 다릅니다.

m 가 10-4 이상으로, 10precision 미만의 경우,10 진포맷으로 표현됩니다.

m 가 10-4 미만, 또는 10precision 이상의 경우,부동 소수점 표시 형식에서 표현됩니다.

m 의 자리수의 합계는, precision 와 동일해집니다. precision 가 지정되어 있지 않은 경우의 디폴트 값는 6 입니다. precision 가 0 의 경우는 1 이 됩니다.

'#' 플래그가 지정되고 있는 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

'G' '\u0047' 'g' 의 대문자의 변형
'f' '\u0066' 출력을 10 진포맷을 사용해 서식 설정할 필요가 있습니다. 로컬라이제이션아르고리즘이 적용됩니다.

결과는, 인수의 부호 및 절대치를 나타내는 캐릭터 라인이 됩니다. 부호의 서식 설정에 대해서는,로컬라이제이션아르고리즘을 참조해 주세요. 절대치 m 의 서식 설정은, 값에 의해 다릅니다.

절대치의 서식은,m 의 정수부 (선두에 제로가 부가되지 않는다), 소수점, 및 m 의 소수부를 나타내는 1 개(살) 이상의 10 진수가, 이 차례로 표기된 것이 됩니다.

결과내의 m 또는 a 의 소수부의 자리수는, precision 와 동일해집니다. precision 가 지정되지 않는 경우의, 디폴트 값는 6 입니다. precision 가,Float.toString(float) 또는 Double.toString(double) 에 의해 각각 반환되는 캐릭터 라인내의 소수점 이후의 자리수보다 작은 경우, 값은반절인상 알고리즘을 사용해 사사오입 됩니다. 그렇지 않은 경우, precision 의 값에 이르도록(듯이) 말미에 제로를 부가할 수 있습니다. 값의 정규 표현에서는,BigDecimal.toString() 를 사용합니다.

Byte, Short, Integer, 및 Long 용으로 정의된 모든플래그가 적용됩니다.

'#' 플래그가 지정되고 있는 경우, 소수점이 항상 존재합니다.

플래그가 지정되지 않는 경우의디폴트 동작은,Float 및 Double 와 같습니다.

widthprecision 의 스펙은, Float 및 Double 로 정의된 스펙과 같습니다.

일자/시각

이 변환은,long,Long ,Calendar , 및 Date 에 적용할 수 있습니다.

't' '\u0074' 일자 및 시각 변환 문자의 접두사
'T' '\u0054' 't' 의 대문자의 변형

다음날 부 및 시각 변환 문자의 접미사(suffix)이,tT 변환용으로 정의되고 있습니다. 이 형태는, GNU date 및 POSIX strftime(3c) 로 정의된 형태에 유사하고 있습니다만 완전하게 동일하지는 않습니다. 초내의 밀리 세컨드를 나타내는 L 등, Java 고유의 기능에 액세스하기 위한 추가의 변환형이 제공되고 있습니다.

시각의 서식 설정에서는, 다음의 변환 문자가 사용됩니다.

'H' '\u0048' 24 시간제때. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (00 - 23). 00 은 한밤 중에 대응합니다.
'I' '\u0049' 12 시간제때. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (00 -12). 01 은 1 시 (오전 또는 오후)에 대응합니다.
'k' '\u006b' 24 시간제때 (0 - 23). 0 은 한밤 중에 대응합니다.
'l' '\u006c' 12 시간제때 (1 - 12). 1 은 1 시 (오전 또는 오후)에 대응합니다.
'M' '\u004d' 분. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (00 - 59).
'S' '\u0053' 초. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (00 - 60). 60」은 윤년에서의 초의 지원에 필요한 특수한 값입니다.
'L' '\u004c' 밀리 세컨드. 필요에 따라서 0 을 선두에 추가해, 3 자리수로 표현합니다 (000 - 999).
'N' '\u004e' 나노초. 필요에 따라서 0 을 선두에 추가해, 9 자리수로 표현합니다 (000000000 - 999999999). 이 값의 정밀도는, 배후의 operating system 또는 하드웨어의 해상도에 의해 제한됩니다.
'p' '\u0070' 로케일에 특정의오전 또는 오후의 소문자 (am 또는 pm 등)의 마커. 변환 접두사의 T 를 사용하면(자), 결과는 대문자로 강제 출력됩니다. ('p' 는 소문자로 출력된다. 이것은 대문자로 출력되는 GNU 의 date 및 POSIX 의 strftime(3c) 와는 다르다).
'z' '\u007a' RFC 822 에 준거한, GMT 로부터의 수치 타임 존 오프셋(offset) (-0800 등).
'Z' '\u005a' 타임 존의 생략형을 나타내는 캐릭터 라인.
's' '\u0073' 1970 년 1 월 1 일 00:00:00 UTC 의 신기원 개시부터의 초 (Long.MIN_VALUE/1000 로부터 Long.MAX_VALUE/1000 까지).
'Q' '\u004f' 1970 년 1 월 1 일 00:00:00 UTC 의 신기원 개시부터 (즉,Long.MIN_VALUE 로부터 Long.MAX_VALUE 까지)의 밀리 세컨드. 이 값의 정밀도는, 배후의 operating system 또는 하드웨어의 해상도에 의해 제한됩니다.

일자의 서식 설정에서는, 다음의 변환 문자가 사용됩니다.

'B' '\u0042' 로케일 고유의달의 완전한 이름 ( 「January」, 「February」 등).
'b' '\u0062' 로케일 고유의달의 생략명 ( 「Jan」, 「Feb」 등).
'h' '\u0068' 'b' 와 같다.
'A' '\u0041' 로케일 고유의요일의 완전한 이름 ( 「Sunday」, 「Monday」 등).
'a' '\u0061' 로케일 고유의요일의 단축명 ( 「Sun」, 「Mon」 등).
'C' '\u0043' 4 자리수의 해를 100 으로 나눈 값. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표시합니다 (00 - 99).
'Y' '\u0059' 해. 필요에 따라서 0 을 선두에 추가해 4 자리수 이상으로 표현합니다. 예를 들어,0092 는, 그레고리오력의 92 CE 와 등가입니다.
'y' '\u0079' 해하 2 자리수. 필요에 따라서 0 을 선두에 추가합니다 (00 - 99).
'j' '\u006a' 해의 며칠눈인지를 나타내는 날. 필요에 따라서 0 을 선두에 추가해, 3 자리수로 표현합니다. 예를 들어, 그레고리오력의 경우,001 - 366 이 됩니다. 001 은, 해의 최초의 날에 대응합니다.
'm' '\u006d' 월. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (01 - 13). 01」은, 해의 최초의 달입니다 ( 「13」은 음력의 지원에 필요한 특수한 값).
'd' '\u0064' 달의 며칠눈인지를 나타내는 날. 필요에 따라서 0 을 선두에 추가해, 2 자리수로 표현합니다 (01 - 31). 01」은, 달의 최초의 날을 나타냅니다.
'e' '\u0065' 달의 며칠눈인지를 나타내는 날. 최대 2 자리수로 표현합니다 (1 - 31). 1」은, 달의 최초의 날을 나타냅니다.

일반의 일자/시각 변환의 서식 설정에서는, 다음의 변환 문자가 사용됩니다.

'R' '\u0052' %tH:%tM로서 24 시간제로 서식 설정되었을 때 각.
'T' '\u0054' %tH:%tM:%tS로서 24 시간제로 서식 설정되었을 때 각.
'r' '\u0072' "%tI:%tM:%tS %Tp"로서 12 시간제로 서식 설정되었을 때 각. 오전 및 오후 마커의 위치 ('%Tp')는 로케일에 의해 다릅니다.
'D' '\u0044' %tm/%td/%ty로서 서식 설정된 일자.
'F' '\u0046' %tY-%tm-%td로서 서식 설정된,ISO 8601 에 준거한 일자.
'c' '\u0063' %ta %tb %td %tT %tZ %tY로서 서식 설정된 일자 및 시각 ( 「Sun Jul 20 16:17:00 EDT 1969」 등).

일반 변환용으로 정의된 '-' 플래그가 적용됩니다. '#' 플래그가 지정되었을 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

width 는, 출력에 기입해지는 최소 문자수입니다. 변환 후의 값의 길이가 width 보다 작은 경우, 총문자수가 width 에 동일해질 때까지 출력에 공백 ('\u0020')이 패딩 됩니다. 디폴트에서는, 좌측으로 패딩 됩니다. '-' 플래그가 지정되었을 경우, 우측으로 패딩 됩니다. width 가 지정되어 있지 않은 경우, 최소치는 존재하지 않습니다.

precision 는 적용할 수 없습니다. precision 가 지정되었을 경우,IllegalFormatPrecisionException 가 throw 됩니다.

퍼센트

이 변환에 대응하는 인수는 없습니다.

'%' 결과는, 리터럴 「%」(\u0025)이 됩니다.

width 는, 출력에 기입해지는,'%' 를 포함한 최소 문자수입니다. 변환 후의 값의 길이가 width 보다 작은 경우, 총문자수가 width 에 동일해질 때까지 출력에 공백 ('\u0020')이 패딩 됩니다. 패딩은 좌측에 행해집니다. width 가 지정되어 있지 않은 경우,'%' 만이 출력됩니다.

일반 변환용으로 정의된 '-' 플래그가 적용됩니다. 다른 플래그가 지정되었을 경우,FormatFlagsConversionMismatchException 가 throw 됩니다.

precision 는 적용할 수 없습니다. precision 가 지정되었을 경우,IllegalFormatPrecisionException 가 throw 됩니다.

행 단락 문자

이 변환에 대응하는 인수는 없습니다.

'n' 플랫폼 고유의 행 단락 문자로,System.getProperty("line.separator") 에 의해 돌려주어집니다.

flags, width, 및 precision 는 적용할 수 없습니다. 이것들이 지정되었을 경우,IllegalFormatFlagsException ,IllegalFormatWidthException , 및 IllegalFormatPrecisionException 가 각각 throw 됩니다.

인수의 인덱스

서식 지시자는, 다음의 3 개의 방법으로 인수를 참조할 수 있습니다.

1 개의 서식 캐릭터 라인으로 모든 인덱스 지정을 사용할 수 있습니다. 다음에 예를 나타냅니다.

   formatter.format("%2$s %s %<s %s", "a", "b", "c", "d")
   // -> "b a a b"
   // "c" and "d" are ignored because they are not referenced
 

인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받습니다. 인수 인덱스가 이용 가능한 인수에 대응하고 있지 않는 경우,MissingFormatArgumentException 가 throw 됩니다.

서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시됩니다.

특히 지정되어 있지 않은 한,null 인수를 이 클래스의 메소드 또는 생성자 에 건네주면(자),NullPointerException 가 throw 됩니다.

도입된 버젼:
1.5

상자의 클래스의 개요
static class Formatter.BigDecimalLayoutForm
           
 
생성자 의 개요
Formatter ()
          새로운 포매터를 구축합니다.
Formatter (Appendable  a)
          지정된 행선지를 가지는 새로운 포매터를 구축합니다.
Formatter (Appendable  a, Locale  l)
          지정된 행선지 및 로케일을 가지는 새로운 포매터를 구축합니다.
Formatter (File  file)
          지정된 파일을 가지는 새로운 포매터를 구축합니다.
Formatter (File  file, String  csn)
          지정된 파일 및 캐릭터 세트를 가지는 새로운 포매터를 구축합니다.
Formatter (File  file, String  csn, Locale  l)
          지정된 파일, 캐릭터 세트, 및 로케일을 가지는 새로운 포매터를 구축합니다.
Formatter (Locale  l)
          지정된 로케일을 가지는 새로운 포매터를 구축합니다.
Formatter (OutputStream  os)
          지정된 출력 스트림을 가지는 새로운 포매터를 구축합니다.
Formatter (OutputStream  os, String  csn)
          지정된 출력 스트림 및 캐릭터 세트를 가지는 새로운 포매터를 구축합니다.
Formatter (OutputStream  os, String  csn, Locale  l)
          지정된 출력 스트림, 캐릭터 세트, 및 로케일을 가지는 새로운 포매터를 구축합니다.
Formatter (PrintStream  ps)
          지정된 출력 스트림을 가지는 새로운 포매터를 구축합니다.
Formatter (String  fileName)
          지정된 파일명을 가지는 새로운 포매터를 구축합니다.
Formatter (String  fileName, String  csn)
          지정된 파일명 및 캐릭터 세트를 가지는 새로운 포매터를 구축합니다.
Formatter (String  fileName, String  csn, Locale  l)
          지정된 파일명, 캐릭터 세트, 및 로케일을 가지는 새로운 포매터를 구축합니다.
 
메소드의 개요
 void close ()
          이 포매터를 닫습니다.
 void flush ()
          이 포매터를 플래시 합니다.
 Formatter format (Locale  l, String  format, Object ... args)
          지정된 로케일, 서식 캐릭터 라인, 및 인수를 사용해, 서식 첨부 캐릭터 라인을 이 객체의 행선지에 기입합니다.
 Formatter format (String  format, Object ... args)
          지정된 서식 캐릭터 라인 및 인수를 사용해, 서식 첨부 캐릭터 라인을 이 객체의 행선지에 기입합니다.
 IOException ioException ()
          이 포매터 Appendable 에 의해 마지막에 throw 된 IOException 를 돌려줍니다.
 Locale locale ()
          이 포매터를 구축하는 것으로 설정된 로케일을 돌려줍니다.
 Appendable out ()
          출력처를 돌려줍니다.
 String toString ()
          출력 먼저 대해 toString() 를 호출한 결과를 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

Formatter

public Formatter()
새로운 포매터를 구축합니다.

서식 첨부 출력의 행선지는,StringBuilder 입니다. 이것은,out() 를 호출하는 것으로 취득할 수 있습니다. 또,toString() 를 호출하는 것으로, 현재의 내용을 캐릭터 라인으로 변환할 수 있습니다. 사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.


Formatter

public Formatter(Appendable  a)
지정된 행선지를 가지는 새로운 포매터를 구축합니다.

사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.

파라미터:
a - 서식 첨부 출력의 행선지. anull 의 경우,StringBuilder 가 작성된다

Formatter

public Formatter(Locale  l)
지정된 로케일을 가지는 새로운 포매터를 구축합니다.

서식 첨부 출력의 행선지는,StringBuilder 입니다. 이것은,out() 를 호출하는 것으로 취득할 수 있습니다. 또,toString() 를 호출하는 것으로, 현재의 내용을 캐릭터 라인으로 변환할 수 있습니다.

파라미터:
l - 서식 설정시에 적용하는 로케일 . lnull 의 경우, 로컬라이제이션은 적용되지 않는다

Formatter

public Formatter(Appendable  a,
                 Locale  l)
지정된 행선지 및 로케일을 가지는 새로운 포매터를 구축합니다.

파라미터:
a - 서식 첨부 출력의 행선지. anull 의 경우,StringBuilder 가 작성되는
l - 서식 설정시에 적용하는 로케일 . lnull 의 경우, 로컬라이제이션은 적용되지 않는다

Formatter

public Formatter(String  fileName)
          throws FileNotFoundException 
지정된 파일명을 가지는 새로운 포매터를 구축합니다.

사용되는 캐릭터 세트는, 이 Java 가상 머신 인스턴스의 디폴트 캐릭터 세트 입니다.

사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.

파라미터:
fileName - 이 포매터의 행선지로서 사용되는 파일의 이름. 파일이 존재하는 경우는, 제로의 사이즈에 절약할 수 있어 그렇지 않은 경우는 신규 파일이 작성된다. 출력은 파일에 기입해져 버퍼에 넣어진다
예외:
SecurityException - 시큐리티 매니저가 존재해,checkWrite(fileName) 가 파일에의 기입해 액세스를 허가하지 않는 경우
FileNotFoundException - 지정된 파일명이 기존의 기입해 가능한 일반적으로의 파일을 나타내지 않고, 신규의 일반적으로 파일이 그 이름으로 작성할 수 없는 경우, 또는, 파일의 오픈 또는 작성중에 다른 에러가 발생했을 경우

Formatter

public Formatter(String  fileName,
                 String  csn)
          throws FileNotFoundException ,
                 UnsupportedEncodingException 
지정된 파일명 및 캐릭터 세트를 가지는 새로운 포매터를 구축합니다.

사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.

파라미터:
fileName - 이 포매터의 행선지로서 사용되는 파일의 이름. 파일이 존재하는 경우는, 제로의 사이즈에 절약할 수 있어 그렇지 않은 경우는 신규 파일이 작성된다. 출력은 파일에 기입해져 버퍼에 넣어지는
csn - 지원하는 charset 의 이름
예외:
FileNotFoundException - 지정된 파일명이 기존의 기입해 가능한 일반적으로의 파일을 나타내지 않고, 신규의 일반적으로 파일이 그 이름으로 작성할 수 없는 경우, 또는, 파일의 오픈 또는 작성중에 다른 에러가 발생했을 경우
SecurityException - 시큐리티 매니저가 존재해,checkWrite(fileName) 가 파일에의 기입해 액세스를 허가하지 않는 경우
UnsupportedEncodingException - 지정된 캐릭터 세트가 지원되어 있지 않은 경우

Formatter

public Formatter(String  fileName,
                 String  csn,
                 Locale  l)
          throws FileNotFoundException ,
                 UnsupportedEncodingException 
지정된 파일명, 캐릭터 세트, 및 로케일을 가지는 새로운 포매터를 구축합니다.

파라미터:
fileName - 이 포매터의 행선지로서 사용되는 파일의 이름. 파일이 존재하는 경우는, 제로의 사이즈에 절약할 수 있어 그렇지 않은 경우는 신규 파일이 작성된다. 출력은 파일에 기입해져 버퍼에 넣어지는
csn - 지원하는 charset 의 이름
l - 서식 설정시에 적용하는로케일 . lnull 의 경우, 로컬라이제이션은 적용되지 않는다
예외:
FileNotFoundException - 지정된 파일명이 기존의 기입해 가능한 일반적으로의 파일을 나타내지 않고, 신규의 일반적으로 파일이 그 이름으로 작성할 수 없는 경우, 또는, 파일의 오픈 또는 작성중에 다른 에러가 발생했을 경우
SecurityException - 시큐리티 매니저가 존재해,checkWrite(fileName) 가 파일에의 기입해 액세스를 허가하지 않는 경우
UnsupportedEncodingException - 지정된 캐릭터 세트가 지원되어 있지 않은 경우

Formatter

public Formatter(File  file)
          throws FileNotFoundException 
지정된 파일을 가지는 새로운 포매터를 구축합니다.

사용되는 캐릭터 세트는, 이 Java 가상 머신 인스턴스의 디폴트 캐릭터 세트 입니다.

사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.

파라미터:
file - 이 포매터의 행선지로서 사용되는 파일. 파일이 존재하는 경우는, 제로의 사이즈에 절약할 수 있어 그렇지 않은 경우는 신규 파일이 작성된다. 출력은 파일에 기입해져 버퍼에 넣어진다
예외:
SecurityException - 시큐리티 매니저가 존재해,checkWrite(file.getPath()) 가 파일에의 기입해 액세스를 거부했을 경우
FileNotFoundException - 지정된 파일 객체가 기존의, 기입해 가능한 일반적으로의 파일을 나타내지 않고, 신규의 일반적으로 파일이 그 이름으로 작성할 수 없는 경우, 또는 파일의 오픈 또는 작성중에 그 외의 에러가 발생했을 경우

Formatter

public Formatter(File  file,
                 String  csn)
          throws FileNotFoundException ,
                 UnsupportedEncodingException 
지정된 파일 및 캐릭터 세트를 가지는 새로운 포매터를 구축합니다.

사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.

파라미터:
file - 이 포매터의 행선지로서 사용되는 파일. 파일이 존재하는 경우는, 제로의 사이즈에 절약할 수 있어 그렇지 않은 경우는 신규 파일이 작성된다. 출력은 파일에 기입해져 버퍼에 넣어지는
csn - 지원하는 charset 의 이름
예외:
FileNotFoundException - 지정된 파일 객체가 기존의, 기입해 가능한 일반적으로의 파일을 나타내지 않고, 신규의 일반적으로 파일이 그 이름으로 작성할 수 없는 경우, 또는 파일의 오픈 또는 작성중에 그 외의 에러가 발생했을 경우
SecurityException - 시큐리티 매니저가 존재해,checkWrite(file.getPath()) 가 파일에의 기입해 액세스를 거부했을 경우
UnsupportedEncodingException - 지정된 캐릭터 세트가 지원되어 있지 않은 경우

Formatter

public Formatter(File  file,
                 String  csn,
                 Locale  l)
          throws FileNotFoundException ,
                 UnsupportedEncodingException 
지정된 파일, 캐릭터 세트, 및 로케일을 가지는 새로운 포매터를 구축합니다.

파라미터:
file - 이 포매터의 행선지로서 사용되는 파일. 파일이 존재하는 경우는, 제로의 사이즈에 절약할 수 있어 그렇지 않은 경우는 신규 파일이 작성된다. 출력은 파일에 기입해져 버퍼에 넣어지는
csn - 지원하는 charset 의 이름
l - 서식 설정시에 적용하는로케일 . lnull 의 경우, 로컬라이제이션은 적용되지 않는다
예외:
FileNotFoundException - 지정된 파일 객체가 기존의, 기입해 가능한 일반적으로의 파일을 나타내지 않고, 신규의 일반적으로 파일이 그 이름으로 작성할 수 없는 경우, 또는 파일의 오픈 또는 작성중에 그 외의 에러가 발생했을 경우
SecurityException - 시큐리티 매니저가 존재해,checkWrite(file.getPath()) 가 파일에의 기입해 액세스를 거부했을 경우
UnsupportedEncodingException - 지정된 캐릭터 세트가 지원되어 있지 않은 경우

Formatter

public Formatter(PrintStream  ps)
지정된 출력 스트림을 가지는 새로운 포매터를 구축합니다.

사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.

문자는 지정된 PrintStream 객체에 기입해지기 (위해)때문에, 이 객체의 캐릭터 세트를 사용해 encode 됩니다.

파라미터:
ps - 이 포매터의 행선지로서 사용되는 스트림

Formatter

public Formatter(OutputStream  os)
지정된 출력 스트림을 가지는 새로운 포매터를 구축합니다.

사용되는 캐릭터 세트는, 이 Java 가상 머신 인스턴스의 디폴트 캐릭터 세트 입니다.

사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.

파라미터:
os - 이 포매터의 행선지로서 사용되는 출력 스트림. 출력은 버퍼에 넣어진다

Formatter

public Formatter(OutputStream  os,
                 String  csn)
          throws UnsupportedEncodingException 
지정된 출력 스트림 및 캐릭터 세트를 가지는 새로운 포매터를 구축합니다.

사용되는 로케일은, 이 Java 가상 머신 인스턴스의디폴트 로케일입니다.

파라미터:
os - 이 포매터의 행선지로서 사용되는 출력 스트림. 출력은 버퍼에 넣어지는
csn - 지원하는 charset 의 이름
예외:
UnsupportedEncodingException - 지정된 캐릭터 세트가 지원되어 있지 않은 경우

Formatter

public Formatter(OutputStream  os,
                 String  csn,
                 Locale  l)
          throws UnsupportedEncodingException 
지정된 출력 스트림, 캐릭터 세트, 및 로케일을 가지는 새로운 포매터를 구축합니다.

파라미터:
os - 이 포매터의 행선지로서 사용되는 출력 스트림. 출력은 버퍼에 넣어지는
csn - 지원하는 charset 의 이름
l - 서식 설정시에 적용하는로케일 . lnull 의 경우, 로컬라이제이션은 적용되지 않는다
예외:
UnsupportedEncodingException - 지정된 캐릭터 세트가 지원되어 있지 않은 경우
메소드의 상세

locale

public Locale  locale()
이 포매터를 구축하는 것으로 설정된 로케일을 돌려줍니다.

로케일 인수를 가지는 이 객체의 format 메소드는 이 값을 돌려주지 않습니다.

반환값:
로컬라이제이션이 적용되지 않는 경우는 null, 그렇지 않은 경우는 로케일
예외:
FormatterClosedException - close() 메소드를 호출하는 것으로, 이 포매터가 닫혀졌을 경우

out

public Appendable  out()
출력처를 돌려줍니다.

반환값:
출력처
예외:
FormatterClosedException - close() 메소드를 호출하는 것으로, 이 포매터가 닫혀졌을 경우

toString

public String  toString()
출력 먼저 대해 toString() 를 호출한 결과를 돌려줍니다. 예를 들어, 다음의 코드에 의해 텍스트가 StringBuilder 내에서 서식 설정되어, 결과의 캐릭터 라인이 취득됩니다.
   Formatter f = new Formatter();
   f.format("Last reboot at %tc", lastRebootDate);
   String s = f.toString();
   // -> s == "Last reboot at Sat Jan 01 00:00:00 PST 2000"
 

이 메소드 호출의 동작은, 다음의 호출의 동작과 완전히 동일합니다.

out(). toString() 

Appendable 에 대한 toString 의 지정에 응해, 반환되는 캐릭터 라인에 행선지에 기입해진 문자가 포함되는 일도, 포함되지 않는 것도 있습니다. 예를 들어, 일반적으로, 버퍼는 toString() 의 내용을 돌려줍니다만, 스트림에서는 데이터가 파기되기 위해서(때문에) 그것을 할 수 없습니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
출력 먼저 대해 toString() 를 호출한 결과
예외:
FormatterClosedException - close() 메소드를 호출하는 것으로, 이 포매터가 닫혀졌을 경우

flush

public void flush()
이 포매터를 플래시 합니다. 행선지가 Flushable 인터페이스를 구현하는 경우,flush 메소드가 불려 갑니다.

포매터의 플래시에 의해, 행선지에서 버퍼에 넣어진 임의의 출력이 기본으로 되는 스트림에 기입해집니다.

정의:
인터페이스 Flushable 내의 flush
예외:
FormatterClosedException - close() 메소드를 호출하는 것으로, 이 포매터가 닫혀졌을 경우

close

public void close()
이 포매터를 닫습니다. 행선지가 Closeable 인터페이스를 구현하는 경우,close 메소드가 불려 갑니다.

포매터를 닫으면(자), 그것이 보관 유지하고 있던 자원 (열려 있던 파일등)을 해제할 수 있습니다. 포매터가 벌써 닫혀지고 있는 경우, 이 메소드를 호출해도 무슨 효과도 없습니다.

이 포매터를 닫은 후에, 이 포매터내의 ioException() 이외의 메소드를 호출하려고 하면(자),FormatterClosedException 가 throw 됩니다.

정의:
인터페이스 Closeable 내의 close

ioException

public IOException  ioException()
이 포매터 Appendable 에 의해 마지막에 throw 된 IOException 를 돌려줍니다.

행선지의 append() 메소드가 전혀 IOException 를 throw 하지 않는 경우, 이 메소드는 항상 null 를 돌려줍니다.

반환값:
Appendable 에 의해 throw 된 마지막 예외. 해당하는 예외가 존재하지 않는 경우는 null

format

public Formatter  format(String  format,
                        Object ... args)
지정된 서식 캐릭터 라인 및 인수를 사용해, 서식 첨부 캐릭터 라인을 이 객체의 행선지에 기입합니다. 사용되는 로케일은, 이 포매터의 구축시에 정의된 로케일입니다.

파라미터:
format - 「서식 캐릭터 라인의 구문」으로 설명한 서식 캐릭터 라인
args - 서식 캐릭터 라인내의 서식 지시자에 의해 참조되는 인수. 서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시된다. 인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받는다
반환값:
이 포매터
예외:
IllegalFormatException - 서식 캐릭터 라인에 부정한 구문, 지정된 인수와 호환성이 없는 서식 지시자, 인수의 지정이 불충분한 서식 캐릭터 라인, 또는 다른 부정한 조건이 포함되는 경우. 가능성이 있는 서식 에러 모든 자세한 것은, formatter 클래스 스펙의「상세」섹션을 참조
FormatterClosedException - close() 메소드를 호출하는 것으로, 이 포매터가 닫혀졌을 경우

format

public Formatter  format(Locale  l,
                        String  format,
                        Object ... args)
지정된 로케일, 서식 캐릭터 라인, 및 인수를 사용해, 서식 첨부 캐릭터 라인을 이 객체의 행선지에 기입합니다.

파라미터:
l - 서식 설정시에 적용하는로케일 . lnull 의 경우, 로컬라이제이션은 적용되지 않는다. 구축시로 설정된 이 객체의 로케일이 이것에 의해 변경될 것은 없는
format - 「서식 캐릭터 라인의 구문」으로 설명한 서식 캐릭터 라인
args - 서식 캐릭터 라인내의 서식 지시자에 의해 참조되는 인수. 서식 지시자 이외에도 인수가 존재하는 경우, 여분의 인수는 무시된다. 인수의 최대수는,Java 가상 머신 스펙으로 정의된 Java 배열의 최대 사이즈의 제한을 받는다
반환값:
이 포매터
예외:
IllegalFormatException - 서식 캐릭터 라인에 부정한 구문, 지정된 인수와 호환성이 없는 서식 지시자, 인수의 지정이 불충분한 서식 캐릭터 라인, 또는 다른 부정한 조건이 포함되는 경우. 가능성이 있는 서식 에러 모든 자세한 것은, formatter 클래스 스펙의「상세」섹션을 참조
FormatterClosedException - close() 메소드를 호출하는 것으로, 이 포매터가 닫혀졌을 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.