如何在 Java 上将字符串转换为位图图像

问题描述 投票:0回答:1

文本文件中有位图代码。我需要将这些代码作为字符串转换为位图并将其显示在屏幕上的用户。我写了如下代码,但解码字节为空。我哪里出错了?

try {
   BufferedReader reader = Files.newBufferedReader(Paths.get("/data/user/0/com.example.lockertestapplication/files/text.txt"), StandardCharsets.UTF_8);
   StringBuilder data = new StringBuilder();
   String line;
   while ((line = reader.readLine()) != null) {
      data.append(line);
   }
   reader.close();
   String text = data.toString();
   byte[] decodedString = Base64.decode(text, Base64.DEFAULT);
   Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
   img.setImageBitmap(decodedByte);
                
} catch (IOException e) {
   e.printStackTrace();
}
java android android-bitmap
1个回答
0
投票

问题可能与以下内容相关:

  1. 文本文件中的字符串可能未正确进行 Base64 编码或已损坏。

2.在您的代码中,您使用 Base64 默认值进行解码,而不是尝试 Base64.NO Wrap 或其他标志

3.位图对于内存来说也可能太大,如果您同时处理 OutOfMemoryError 和此错误,则可能会出现这种情况

© www.soinside.com 2019 - 2024. All rights reserved.