问题1:MAVEN编译时报“BASE64Encoder是内部专用API,可能会在未来发行版中删除”的黄色警告
sun.misc.BASE64Encoder方法会导致MAVEN编译时报“BASE64Encoder是内部专用API,可能会在未来发行版中删除”的黄色警告。于是我寻找了其他的base编码工具类,例如:
org.apache.commons.codec.binary.Base64
这个工具类。
问题2:IDEA无法识别org.apache.commons.codec.binary.Base64工具类
通过copy org.apache.commons.codec.binary.Base64中的Base64粘贴替换自己方法里的Base64,发现IDEA识别了。
玄学。
问题3:base64工具类编码后出现换行符
使用org.apache.commons.codec.binary.Base64工具类对pdf解码过程,发现该类解码不会有换行符,而sun.misc.BASE64Encoder解码会出现换行符(原因在于该方法遵循RFC822规定,BASE64Encoder编码每76个字符,还需要加上一个回车换行 )。
问题4:Java BufferedInputStream close()方法
BufferedInputStream或者BufferedOutputStream是一种虚拟的流。点进去看BufferedInputStream.close()方法可以看到该方法是个空方法。
该流会交由JVM回收。
——————————————————这里是分割线———————————————————
BufferedWriter BufferedOutputStream 区别
BufferedWriter BufferedOutputStream 区别 - 程序园
Java中Stream和Reader/Writer的区别
Java中Stream和Reader/Writer的区别 - 简书
各种流的关系