大佬教程收集整理的这篇文章主要介绍了是否可以直接从 Encoded String 中获取 java 对象,而不是将 Encoded String 转换为 File 然后读取文件?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的要求:
-----现在的流程是-----
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.util.base64
在 Java 中轻松地将 Base64 数据解码为 byte[]
:
String myBase64String = ...;
byte[] decoded = Base64.getDecoder().decode(myBase64String);
请注意,您可能需要将 getDecoder()
替换为 getMimeDecoder()
或 getUrlDecoder()
,具体取决于您的字符串使用的 Base64 编码类型。
然后,如果您需要某种需要该数据作为输入的处理,您可以轻松创建一个 InputStream
,使用 ByteArrayInputStream
提供该数据:
InputStream in = new ByteArrayInputStream(decoded);
但是,如果您的处理代码坚持采用 File
对象,那么您需要修改该代码以直接接受 InputStream
(通常这很容易,因为大多数这些方法只是创建一个 FileInputStream
并阅读它,只需跳过该步骤并使用传入的 InputStream
代替)。
以上是大佬教程为你收集整理的是否可以直接从 Encoded String 中获取 java 对象,而不是将 Encoded String 转换为 File 然后读取文件?全部内容,希望文章能够帮你解决是否可以直接从 Encoded String 中获取 java 对象,而不是将 Encoded String 转换为 File 然后读取文件?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。