예제

public static void main( String[] args ) {
javax.mail.internet.MimeMessage mm = new javax.mail.internet.MimeMessage(javax.mail.Session.getInstance(new java.util.Properties()));
try {
mm.setDescription( args[ 0 ] );
byte[] description = mm.getDescription().getBytes();
java.io.FileOutputStream out = new java.io.FileOutputStream("Rule.html", true); //$NON-NLS-1$
out.write(description);
}catch (Exception e){
e.printStackTrace();
System.out.println(e.getMessage());
}
}

솔루션

javax.mail.internet.MimeBodyPart.setDescription (java.lang.String, java.lang.String)을 사용하십시오.
지정된 유니코드 문자열이 지정된 문자 세트를 사용하여 인코딩됩니다.
지정된 문자 세트는 문자열의 모든 문자를 지원해야 합니다.
문자열의 언어를 알 수 없을 경우 UTF-8을 사용하십시오.

public static void main(String[] args) {
String text = args[0];
String charset = args[1];
javax.mail.internet.MimeMessage mm = new javax.mail.internet.MimeMessage(
java.mail.Session.getInstance(new java.util.Properties()));

try {
mm.setDescription(text, charset);
byte[] description = mm.getDescription().getBytes("UTF-8"); //$NON-NLS-1$
java.io.FileOutputStream out = new java.io.FileOutputStream(
"Rule185-2.html", true); //$NON-NLS-1$
out.write(description);
} catch (Exception e) {
System.out.println(e.toString());
}
}