[英]base64 image back to png using java too long constant
我正在嘗試學習java base64轉換為圖像
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import redis.clients.jedis.Jedis;
public class HelloWorld {
public static void main(String[] args) throws IOException {
byte[] btDataFile = new sun.misc.BASE64Decoder().decodeBuffer("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAn4AAAMUCAYAAAAiyCroAAAMGWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdUU0kXnldSCEkogQhICb0J0qv0XgSkg42QBAglhkBQsSOLCq4FFVEUFV0Rsa0FkLUgo...AAABJRU5ErkJggg==");
File of = new File("/Users/myfolder/Desktop/yourFile.png");
FileOutputStream osf = new FileOutputStream(of);
osf.write(btDataFile);
osf.flush();
}
}
簡短的回答是,您的源代碼中不應該有這么長的String
作為常量。 如何更改它取決於您的實際情況:
String
常量限制,而不是RAM內存限制),請將文本放入文件並在運行時加載它。 或者,如果您確實堅持將源代碼嵌入到源代碼中,請將String
拆分為幾個常量大小的塊,並在運行時將它們連接起來。 sun.misc
包,但快速瀏覽一下http:// www .docjar.com / docs / api / sun / misc / BASE64Decoder.html顯示了decodeAtom
和decodeBufferToByteBuffer
方法,看起來非常有前景。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.