首页 > 解决方案 > 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"

标签: javaandroidclassloader

解决方案


推荐阅读