-
MessageFormat개발하면서/etc 2009. 11. 3. 23:42반응형
필요는 사람을 집중하게 만든다.
C에서 sprintf기능을 하는게 Java에 있는지 알아보던중, MessageFormat이라는것을 알게되었다.
Java에서는 String의 개념이 있어서 '+'연산으로 다 가능해 그다지 쓸모는 없지만.....;; 그래도 알면 좋다는 신념아래
알아보기로 했다.
//C의 sprintf는 char form[50] = "age : %d, area : %s\n"; char output[200]; sprintf(output, form, 26, "오산"); printf("output : %s\n", output);
//뭐 이런식인데 Java의 MessageFormat은 String form = "age: {0}, area: {1}"; System.out.println(MessageFormat.format(form, new Object[]{age, area}));다음과 같이 사용할수 있다.
import java.text.MessageFormat; import java.util.Date; import java.io.*;
public class Test{ // private static final String patternSimplifiedData = "내이름은 {0} 이고 나이는 {1}이다. 사는곳은 {2}이며 {3}를 꿈꾸고 있다."; // public static void main(String[] args) // { // String area = "오산"; // System.out.println(MessageFormat.format(patternSimplifiedData, // new Object[] { "강한구", "19", area, "간지나는 개발자"})); // } public static void main(String[] args) { Object[] arguments = { new Integer(7), new Date(System.currentTimeMillis()), "a disturbance in the Force" };
String result = MessageFormat.format( "At {1,time} on {1,date}, there was {2} on planet {0,number,integer}.", arguments); System.out.println("result :" + result);
} }출력 :
더 많은 예제는 아래에 있다.
출처 : http://java.sun.com/j2se/1.4.2/docs/api/java/text/MessageFormat.html
반응형