我正在尝试将项目数据(图像,参数等)保存在保存文件中。我找到的方法是将所有数据合并到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());
当我尝试在同一个函数中使用解码器时,它总是打印错误。
byte[] ds = Base64.getDecoder().decode(ef);
if(ds==bytes) {
System.out.println("True");
}else {
System.out.println("false");
}
我在网站上找到的所有示例都已过时。那么在不丢失数据的情况下将字符串转换回文件的正确方法是什么。提前谢谢。
答案 0 :(得分:3)
<div id="mainPage">
<div class="bicycle" id="bicycleOriginal"></div>
<p class="txt" id="mainTxt">DRAHTESEL</p>
<div class="bicycle" id="bicycleFlipped"></div>
</div>
然后
Path path = Paths.get("...");
byte[] bytes = Files.readAllBytes(path);
或者使用更好的内存:
byte[] img = Base64.getDecoder().decode(bytes);
一个问题是历史上有几个Base64类,您需要 InputStream in = Base64.getDecoder().wrap(Files.newInputStream(path));
Image image = new Image(in);
。