Я только что попробовал примерную форму кода, он показывает предупреждение следующим образом
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:16: warning: com.sun.org.apache.xerces.internal.impl.dv.util. Base64 является внутренним проприетарным API и может быть удален в будущем выпуске 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); ^
код ниже
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"));
}
}
код >