【代码】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 保存文件路径方法

相关推荐
消失的旧时光-19434 小时前
Android ADB指令大全详解
android·adb
ashcn20016 小时前
opengl 播放视频的android c++ 方案
android·c++ opengl es
abner.Li6 小时前
android 反编译
android
Digitally6 小时前
如何删除 realme 手机上的短信
android
2501_916008896 小时前
提高 iOS 应用逆向难度的工程实践,多工具联动的全栈安全方案
android·安全·ios·小程序·uni-app·cocoa·iphone
沐怡旸6 小时前
【底层机制】Android图形渲染体系深度解析:VSync信号机制
android·面试
BoomHe7 小时前
Android 13 (API 33)上自定义广播
android
来来走走8 小时前
Android开发(Kotlin) ViewModel基本用法
android·开发语言·kotlin
Digitally8 小时前
在荣耀手机上删除短信的完整指南
android
nono牛9 小时前
Android Binder C/C++ 层详解与实践
android·c语言·binder