java - Read file with ClassLoader
问题描述
I have a file published in my files
folder in android.
I can correctly load it by calling new ClassLoader().getResourceAsStream(getFilesDir().getAbsolutePath() + "/myFile")
.
The problem is that I need to call it via Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName)
I tried many ways:
Thread.currentThread().getContextClassLoader().getResourceAsStream("/myFile")
Thread.currentThread().getContextClassLoader().getResourceAsStream("/myFile.extension")
Thread.currentThread().getContextClassLoader().getResourceAsStream("myFile")
Thread.currentThread().getContextClassLoader().getResourceAsStream("myFile")
Thread.currentThread().getContextClassLoader().getResourceAsStream(getFilesDir().getAbsolutePath() + "/myFile")
Thread.currentThread().getContextClassLoader().getResourceAsStream(getFilesDir().getAbsolutePath() + "/myFile.extension")
Every single case returned me null
.
I need to use that method because I have to call an external lib that uses it, but I can't figure out what should I pass as file name/path to make it work.
Any help will be appreciated.
Thanks
Folder structure:
"main" package:
com/company/customer/project/activities/MyActivity.java
Class package:
customer/project/helper.java
Helper.java
file is called by MyActivity.java
and runs the getClassLoader()
code.
That's my files folder path:
getFilesDir().getAbsolutePath();
//it results in
"/data/user/0/com.company.customer.project.flavor.dev/files"
解决方案
推荐阅读
- c# - 在 c# windows 应用程序中更改放置在 gridview 中的文本框值
- android - 哪个文件包含android文件系统的DNS服务器地址?
- android - RecyclerView ItemTouchHelper - 如何撤消或重置滑动?查看如何删除背景或图标
- php - 如何在 laravel 中获取完整的文件路径
- javascript - 增加/减少点击次数
- excel - Excel - 将一张工作表复制到所有打开的工作簿
- node.js - 从 shopify POS 创建 webhook 或监听事件
- c++ - 我的程序没有运行,多维向量函数
- batch-file - 移动文件夹中的所有文件,但仍在使用的文件除外(通过 ffmpeg 等其他进程)
- tensorflow - 使用 tf.extract_image_patches 为一对图像有效地生成图像补丁