는 그냥 64 기수 부분을 디코딩하고 파일 (나는 그 부분이 정말 트루 타입 글꼴입니다 있으리라 믿고있어)에 저장합니다. 당신이 자바 7을 사용하는 경우
: 당신은 자바 6을 사용하는 경우
String fontData = "font/truetype;charset=utf-8;base64,QUJDREU= ... ";
fontData = fontData.substring(fontData.indexOf("base64,") + 7);
File ttFile = new File("/path/to/your/file.ttf");
try (FileOutputStream output = new FileOutputStream(ttFile)) {
byte[] binary = javax.xml.bind.DatatypeConverter.parseBase64Binary(fontData);
output.write(binary);
} catch (IOException e) {
e.printStackTrace();
}
:
String fontData = "font/truetype;charset=utf-8;base64,QUJDREU= ... ";
fontData = fontData.substring(fontData.indexOf("base64,") + 7);
File ttFile = new File("/path/to/your/file.ttf");
try {
FileOutputStream output = null;
try {
output = new FileOutputStream(ttFile);
byte[] binary = javax.xml.bind.DatatypeConverter.parseBase64Binary(fontData);
output.write(binary);
} finally {
if(output != null) {
output.close();
}
}
} catch (IOException e) {
e.printStackTrace();
}
당신이 이전 버전의 다운로드를 사용하여 클래스 경로 Apache Commons Codec에 추가하는 경우
String fontData = "font/truetype;charset=utf-8;base64,QUJDREU= ... ";
fontData = fontData.substring(fontData.indexOf("base64,") + 7);
File ttFile = new File("/path/to/your/file.ttf");
FileOutputStream output = null;
try {
try {
output = new FileOutputStream(ttFile);
byte[] binary = new org.apache.commons.codec.binary.Base64().decode(fontData);
output.write(binary);
} finally {
if(output != null) {
output.close();
}
}
} catch (IOException e) {
e.printStackTrace();
}
[ByteArrayInputStream] (ht) 클래스를 사용하여 먼저 파일을 만들지 않고 글꼴을로드 할 수도 있습니다. tps : //docs.oracle.com/javase/7/docs/api/java/io/ByteArrayInputStream.html). –