Android 如何导入lib文件?扫描程序发生FileNotFoundException

Android 如何导入lib文件?扫描程序发生FileNotFoundException,android,Android,我得到以下错误: scan=新扫描仪(新文件(“file:///android_lib/“+StationNM+”.csv”) 我有아현.lib文件夹中的csv,但android会抛出FileNotFoundException 我怎样才能解决这个问题?adfasdfa 我的消息来源是 mport java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.IO

我得到以下错误:

scan=新扫描仪(新文件(“file:///android_lib/“+StationNM+”.csv”)

我有
아현.lib文件夹中的csv
,但android会抛出
FileNotFoundException

我怎样才能解决这个问题?adfasdfa

我的消息来源是

mport java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Scanner;
import java.lang.Object;

public class model {


    public float modelPredict(String StationNM, String UPandDOWN, int day, int hour, int minute)
    {
 Scanner scan = null;
        try {
            scan = new Scanner(new File("file:///android_lib/"+StationNM+".csv"));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        ArrayList<String[]> records = new ArrayList<String[]>();
        ArrayList<Integer> model_list = new ArrayList<Integer>();

        while (scan.hasNext()) {
            String[] record;
            record = scan.nextLine().split(",");
            records.add(record);
        }
}

this issue was solved
mport java.io.BufferedReader;
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.io.IOException;
导入java.io.InputStreamReader;
导入java.math.BigDecimal;
导入java.util.ArrayList;
导入java.util.Scanner;
导入java.lang.Object;
公共类模型{
公共浮点模型预测(字符串StationNM、字符串向上和向下、整数天、整数小时、整数分钟)
{
扫描仪扫描=空;
试一试{
扫描=新扫描仪(新文件(“file:///android_lib/“+StationNM+”.csv”);
}catch(filenotfounde异常){
e、 printStackTrace();
}
ArrayList记录=新的ArrayList();
ArrayList model_list=新的ArrayList();
while(scan.hasNext()){
字符串[]记录;
record=scan.nextLine().split(“,”);
记录。添加(记录);
}
}
这个问题解决了
文件
构造函数采用文件系统路径。您要传递的内容:

  • 不是文件系统路径,因为路径没有类似于
    file://
    http://
    content://

  • 指文件系统上不存在的目录

我有아현.lib文件夹中的csv


将它放在模块的
src/main/assets/
中。将
AssetManager
传递给
modelPredict()
方法,并使用
open()
AssetManager
上获取一个
InputStream
,您可以将其传递给
扫描仪
构造函数。您可以通过调用
getAssets()获取一个
AssetManager
上下文
上的
,例如您的
活动
服务

您的
文件夹未编译到APK中,因此找不到“是”文件。可能您希望将文件移动到您的
资产
原始
文件夹。无法解析方法
获取资产
向下滚动,您需要
上下文t、 getAssets
您的意思是
ContextInstance.getAssets();
?也无法解析symbol
ContextInstance
请写下代码段而不是图像。@GoBackess:正如我写的,通过调用
getAssets()可以得到
AssetManager
上下文上,例如您的
活动
服务
。我尝试
AssetManager AssetManager=getApplication().getAssets();
但是
java.lang.NullPointerException:尝试调用虚拟方法'android.content.res.AssetManager android.app.Application.getAssets()'在空对象引用上
@GoBackess:
getApplication()
正在返回
null
。如果在活动的字段初始值设定项中尝试此操作,则需要等待调用方法,如
getApplication()
,直到
onCreate()
或更高版本。@GoBackess:model
类对于活动来说是一个奇怪的类。您是否使用
startActivity()
启动了
model
在类上,而不是在作为
上下文
实例的对象上,例如您的
活动
片段
scan = new Scanner(new File("file:///android_lib/"+StationNM+".csv"));