我正在尝试将项目数据(图像、参数等)保存在保存文件中。我发现的方法是将所有数据合并到 XML 文件中,因此我决定将图像转换为 Base64 字符串。这里的障碍是我不知道如何从字符串中获取图像。
File file = new File("image_path");
byte[] bytes = new byte[(int)file.length()];
FileInputStream fis = new FileInputStream(file);
fis.read(bytes);
fis.close();
String ef = Base64.getEncoder().encodeToString(bytes);
Image image = new Image(file.toURI().toString());
当我尝试在同一函数内使用解码器时,它总是打印 false。
byte[] ds = Base64.getDecoder().decode(ef);
if(ds==bytes) {
System.out.println("True");
}else {
System.out.println("false");
}
我在网站上找到的所有示例都已过时。那么将字符串转换回文件而不丢失数据的正确方法是什么。提前致谢。
Path path = Paths.get("...");
byte[] bytes = Files.readAllBytes(path);
And then
byte[] img = Base64.getDecoder().decode(bytes);
或者更好的内存使用:
InputStream in = Base64.getDecoder().wrap(Files.newInputStream(path));
Image image = new Image(in);
一个问题是历史上有几个 Base64 类,您需要java.util.Base64
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)