【代码】Android|判断asserts下的文件存在与否,以及普通文件存在与否

作者版本:Android 11及以上

主要是发现网上没有完整的、能跑的代码,不知道怎么回事,GPT给我重写的。我只能保证这个代码尊嘟能跑,不像其他的缺胳膊少腿的。

asserts

贴一下结果:

java 复制代码
  boolean isAssertFileExists(String filename) {
      AssetManager assetManager = getActivity().getAssets();
      try {
          String[] files = assetManager.list("");
          for (String file : files) {
              if (file.equals(filename)) {
                  return true;
              }
          }
      } catch (IOException e) {
          e.printStackTrace();
      }
      return false;
  }

需要引入的头文件:

java 复制代码
import java.io.IOException;
import android.content.res.AssetManager;

可以看到能正常判断:

其他外部文件或者data下的文件

如果是常规文件只需要用new File(filepath).exists()就行了。写成函数如下:

java 复制代码
  boolean checkFileExists(String dirname, String filename) {
    File file = new File(dirname, filename);
    return file.exists();
  }

有个人写了但是他那个代码没有getActivity()导致getAssets没定义,见android判断asses文件是否存在

如果找不到自己的软件包存的文件的路径,可以看看这篇博客Android 保存文件路径方法

相关推荐
Kapaseker1 分钟前
详解 Compose background 的重组陷阱
android·kotlin
黄林晴26 分钟前
Kotlin 2.3.20-RC2 来了!JPA 开发者狂喜,6 大更新一文速览
android·kotlin
kymjs张涛14 小时前
OpenClaw 学习小组:初识
android·linux·人工智能
范特西林18 小时前
实战演练——从零实现一个高性能 Binder 服务
android
范特西林19 小时前
代码的生成:AIDL 编译器与 Parcel 的序列化艺术
android
范特西林19 小时前
深入内核:Binder 驱动的内存管理与事务调度
android
范特西林19 小时前
解剖麻雀:Binder 通信的整体架构全景图
android
范特西林19 小时前
破冰之旅:为什么 Android 选择了 Binder?
android
奔跑中的蜗牛66621 小时前
一次播放器架构升级:Android 直播间 ANR 下降 60%
android
测试工坊1 天前
Android 视频播放卡顿检测——帧率之外的第二战场
android