为什么 Android 看不到资产中的现有文件?

Why is Android not seeing existing files in assets?

我正在使用 Android studio 开发我的 android 应用程序。我在子文件夹 red_voznje 的资产文件夹中创建了我在 android 工作室中使用的文件。 这是我的代码

            fileLinija = "smbzag";
            if(TimeDay == 7) fileLinija += "sub";
            else if(TimeDay == 1) fileLinija += "ned";
            GetFromTime(fileLinija);
            fileLinija = "zagsmb";
            if(TimeDay == 7) fileLinija += "sub";
            else if(TimeDay == 1) fileLinija += "ned";
            GetToTime(fileLinija);

这里是 GetToTime 函数,GetFromTime 基本相同我只是将结果保存在 TimeMinFromSmb 而不是 TimeMinToSmb

public void GetToTime(String file){
    AssetManager mngr;
    String red = null;
    int Timemin=0;
    int Timeh=0;
    try{
        mngr = getAssets();
        InputStream is = mngr.open(file);
        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        do
        {
            red=br.readLine();
            Timeh = Character.getNumericValue(red.charAt(0));
            if(Timeh == 9){
                break;
            }
            Timeh *= 10;
            Timeh += Character.getNumericValue(red.charAt(1));
            Timemin = Character.getNumericValue(red.charAt(3));
            Timemin *= 10;
            Timemin += Character.getNumericValue(red.charAt(4));
            LinijaBusaToSmb = Character.getNumericValue(red.charAt(6));
            LinijaBusaToSmb *= 10;
            LinijaBusaToSmb += Character.getNumericValue(red.charAt(7));
        }while((TimeH>Timeh)||((TimeH == Timeh)&&(Timemin<TimeMin)));//popraviti

        if(TimeMin <= Timemin) {
            TimeMinSmjerToSmb = Timemin - TimeMin;
            TimeHSmjerToSmb = Timeh - TimeH;
        }else{
            TimeMinSmjerToSmb = 60 - TimeMin + Timemin;
            TimeHSmjerToSmb = Timeh - TimeH - 1;
        }

    }
    catch (Exception e){}
}

smbzag 和 zagsmb 都存在于 Assets 文件夹中,但 smbzag 未打开在从资产管理器创建 InputStream 时停止。我该怎么做才能解决这个问题?

确保您正在拨打电话

getAssets() 从你的 activity.

否则你可以尝试这个解决方案:

确保你创建了assets文件夹,并把所有文件放在app.iml文件中的下行指定的路径中app 目录.

    <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />

我删除了所有资产并使用 windows 资源管理器将它们添加到资产目录中,并添加了扩展名 .txt