当前位置: 首页 > 面试题库 >

如何避免对Base 64发出警告?

娄德运
2023-03-14
问题内容

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

SimpleConvertImage.java:7:警告: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,可以在以后的版本中删除。String
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"));
    }
}

问题答案:

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

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


 类似资料:
  • 问题内容: 我收到mongodb关于THP的以下警告 但是我确实设法手动关闭了THP 我加入的伎俩,以中和添加 至 我到底该如何避免该警告? 问题答案: MongoDB官方文档为该问题提供了几种解决方案。您也可以尝试此解决方案,该解决方案对我有用: 注意: 如果MongoDB版本大于3.0, 请尝试使用官方文档指令 __ 打开文件。 (如果没有此类文件,您可以检查,文件-信用:以下评论) 在紧接着

  • 我正在使用phpMyAdmin进行grendalhosting。不管我做什么,我总是会犯这些错误。我是PHP/MySQL新手。 警告:mysql_connect():用户“root@”10.1的访问被拒绝。在/home/u438954871/public_html/url shortner/connect中输入2.21“(使用密码:否)。php第8行 警告:mysql_select_db():在/

  • 我有istio设置与mtls全局启用。我通过在没有特使侧车的情况下猛击一个罐子,并在超文本传输协议上运行curl命令来验证它,但失败了。然后使用Istio证书在HTTPS上运行卷曲,这很有效。 当我将端口转发到服务时,eq我可以通过进入我认为这是行不通的,因为mtls正在实施。这个港口如何与库伯内特斯合作?它是否直接通过侧车到达节点?

  • 问题内容: 我正在尝试通过从客户端向服务器发送密钥和随机数来认证用户。 我的代码未向我显示客户端的响应。执行下面的代码时,我得到了一个空指针异常。 问题答案: 解决大多数问题的固定步骤: 阅读堆栈跟踪以确定哪一行代码引发NPE 在该行代码处设置一个断点 使用调试器,在遇到断点时,确定该行中的对象引用是 弄清楚为什么引用该文件(到目前为止,这是唯一实际的困难部分) 解决根本原因(也可能很困难)

  • 问题内容: 我有两个简单的Java代码。第一个将恒定功率定义为power = a.pow(b); 第二个将恒定功率定义为power = BigInteger.ONE.shiftLeft(b) 在命令行中设置内存标志- Xmx1024m,第一个代码可以正常工作,但是第二个代码却出现错误:java.lang.OutOfMemoryError:Java堆空间 我的问题:我应该在第二个代码中更改什么以避免

  • 问题内容: 我有一个用于将文本添加到现有.doc文件中的代码,它将通过使用apache POI将其另存为另一个名称。 以下是到目前为止我尝试过的代码 以下是我得到的 我已经添加了与此对应的所有jar文件,但仍然找不到解决方案。我对apache poi是陌生的,所以请帮我提供一些解释和示例。谢谢 问题答案: 从我对问题的评论中复制: 看起来您需要Apache POI发行版中的poi-ooxml-sc