【问题标题】:how to avoid warning for the Base 64?如何避免 Base 64 的警告?
【发布时间】:2014-03-21 05:04:46
【问题描述】:

我刚刚尝试了一个示例代码表单,它显示如下警告

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

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

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

代码如下

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"));
    }
}

【问题讨论】:

标签: java


【解决方案1】:

你也可以使用:java.util.Base64 添加到 Java 1.8

String encryptedValue = new String(Base64.getEncoder().encode(bytesToEncode));
byte[] decodedValue = Base64.getDecoder().decode(encryptedDataString);

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-12-25
      • 2021-02-04
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2014-10-23
      • 1970-01-01
      • 2021-04-29
      相关资源
      最近更新 更多