如何避免对Base 64发出警告? [英] how to avoid warning for the Base 64?

查看:164
本文介绍了如何避免对Base 64发出警告?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚试过一个示例代码表格网,它显示如下警告

I have just tried a sample code form net it shows a warning as follows


SimpleConvertImage.java:7:warning:com。 sun.org.apache.xerces.internal.impl.dv.util.Base64是内部专有API,可能会在将来的版本中删除
import com.sun.org.apache.xerces.internal.impl.dv。 util.Base64;
^

SimpleConvertImage.java:7: warning:com.sun.org.apache.xerces.internal.impl.dv.util.Base64 is internal proprietary API and may be removed in a future release import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; ^


SimpleConvertImage.java:16:warning:com.sun.org.apache.xerces.internal.impl.dv .util。 Base64是内部专有API,可能会在将来的版本中删除
String base64String = Base64.encode(baos.toByteArray());
^

SimpleConvertImage.java:16: warning: com.sun.org.apache.xerces.internal.impl.dv.util. Base64 is internal proprietary API and may be removed in a future release String base64String=Base64.encode(baos.toByteArray()); ^


SimpleConvertImage.java:19:warning:com.sun.org.apache.xerces.internal.impl.dv .util .Base64是内部专有API,可能会在将来的版本中删除
byte [] bytearray = Base64.decode(base64String);
^

SimpleConvertImage.java:19: warning: com.sun.org.apache.xerces.internal.impl.dv.util .Base64 is internal proprietary API and may be removed in a future release byte[] bytearray =Base64.decode(base64String); ^



代码如下

the code is the below one

import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; 
public class SimpleConvertImage {
    public static void main(String[] args) throws IOException{
        String dirName="/root/Desktop";
        ByteArrayOutputStream baos=new ByteArrayOutputStream(1000);
        BufferedImage img=ImageIO.read(new File(dirName,"Screenshot.png"));
        ImageIO.write(img, "png", baos);
        baos.flush();

        String base64String=Base64.encode(baos.toByteArray());
        baos.close();

        byte[] bytearray =Base64.decode(base64String);

        BufferedImage imag=ImageIO.read(new ByteArrayInputStream(bytearray));
        ImageIO.write(imag, "png", new File(dirName,"snap3.png"));
    }
}

推荐答案

不要使用内部com.sun。*包。如果您使用的是v6或更高版本,则可以使用 DatatypeConverter 。您的代码如下所示:

Don't use internal com.sun.* packages. If you are on v6 or greater you can use DatatypeConverter. Your code would look like:

String base64String = DatatypeConverter.printBase64Binary(baos.toByteArray());
byte[] bytearray = DatatypeConverter.parseBase64Binary(base64String);

这篇关于如何避免对Base 64发出警告?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆