Java – Convertir imagen a Base64

Tengo un problema al convertir una imagen gif en una cadena base 64.

Cuando lo convierto, el código me agrega como 100,000 AAAAAA, ¡mientras que la imagen es realmente pequeña!

Aquí está mi código:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.util.ArrayList;

public class Main
{

public static void main(String[] args)
{
try
{
FileWriter fstream = new FileWriter("./out.txt");
BufferedWriter out = new BufferedWriter(fstream);

File folder = new File("./flags/");
File[] listOfFiles = folder.listFiles();

for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
Main.readFile(out, listOfFiles[i]);
}
}

out.close();
System.out.println("Done");
}
catch (Exception e) {}
}

public static void readFile(BufferedWriter out, File file)
{
try
{
byte[] byteArray = new byte[102400];
FileInputStream fis = new FileInputStream(file);
String base64String;
int bytesRead = 0;
while ((bytesRead = fis.read(byteArray)) != -1)
{
new String(byteArray, 0, bytesRead);
base64String = Base64.encode(byteArray);
out.write("public static ImageIcon getFlag" + file.getName() + "()");
out.newLine();
out.write("{");
out.newLine();
ArrayList<String> array = Main.cut(base64String);
out.write("return Utils.toImage("" + array.get(0) + """""")

Respuestas:
Tiempo:
Última modificación:

Solución

Otras respuestas

Deja un comentario