【发布时间】:2021-08-17 07:02:06
【问题描述】:
我的要求:
- 我正在从我的一个 REST Api 接收编码字符串 现在需要使用 Base64 解码器解码此编码字符串。
- 因为这包含我需要解码的文件,例如 Base64 到文件,这可以使用下面的链接发生,如果我只是将编码字符串下面的粘贴复制到下面的链接中,它会给我文件下载
- https://base64.guru/converter/decode/file
- 现在我的问题是,是否可以以某种方式直接将以下编码的字符串转换为 Java 对象,而不是将它们转换为文件。
- 我的最终目标是从编码字符串中获取数据。
-----现在的流程是--------
EncodedString ==> 将 Base 64 转换为 CSV 文件并下载文件 ==> 使用 Java 读取 CSV 文件 ==>> Java 对象中可用的数据
----下面可以吗?-------
EncodedString ==> 将文件解码并转换为 Java 对象 ==>> Java 对象中可用的数据
编码字符串:
我尝试过的
package com.oracleerp;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Base64;
public class Zip {
public static void main(String args[]) throws IOException {
convertZipAndDownload();
}
private static void convertZipAndDownload() throws IOException {
try {
String str1 = "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";
byte[] decodedImg = Base64.getDecoder().decode(str1.getBytes(StandardCharsets.UTF_8));
Path destinationFile = Paths.get("/Users/as.asd/Documents/zip", "myImage1.zip");
Files.write(destinationFile, decodedImg);
} catch (Exception e) {
System.out.println("Error :" + e.getMessage());
}
}
}
这可以很好地下载 zip,但我想在内存中完成所有这些操作而不做任何下载
【问题讨论】:
标签: java base64 decode encode decoder