Android/Java-IO异常-can';似乎无法加载HTML资源

Android/Java-IO异常-can';似乎无法加载HTML资源,java,android,jsoup,android-assetmanager,Java,Android,Jsoup,Android Assetmanager,brownbear.html位于资产文件夹中,并写入主活动中。最初它是一个单独的.java类,但我还不能精确地研究出“上下文”在主活动之外时是如何影响AssetManager的,我正在尝试在排除故障时减少未知因素 如前所述,“尝试”打印出来,没有日志。我打印出来(大概是因为我们在这方面失败了) CalendarParse parser = new CalendarParse(); parser.countSundays(this); public cla

brownbear.html位于资产文件夹中,并写入主活动中。最初它是一个单独的.java类,但我还不能精确地研究出“上下文”在主活动之外时是如何影响AssetManager的,我正在尝试在排除故障时减少未知因素

如前所述,“尝试”打印出来,没有日志。我打印出来(大概是因为我们在这方面失败了)

    CalendarParse parser = new CalendarParse();
            parser.countSundays(this);  



public class CalendarParse  {

        String calString = "";
        Document cal = null;
        InputStream is = null;


        public void countSundays(Context context)
        {
            AssetManager assMan = context.getAssets();

            try
            {
                System.out.println("Trying");
                InputStream is = assMan.open("assets/brownbear.html");
                if (is == null){
                    Log.i("FAIL","File not found.");
                }
                else{
                    Log.i("SUCCESS","We did it");
                }
               Document cal = Jsoup.parse(is, "utf-8", "ob stuff");
                Element calBlock =  cal.select("table#CalBlock").first();
               Element calRows = calBlock.select("tr").get(0);
              Log.i("SUCCESS","Parsing has occurred");
                System.out.println(calRows.toString());

            }
            catch(IOException e){
                System.out.println("IO Exception at local calendar asset");
            }


        }
)“本地日历资源的IO异常”总是打印出来

如果我把那行改成

InputStream is = assMan.open("assets/brownbear.html");
然后“成功”“我们做到了”运行,但是发生了一个致命的异常:

2019-02-01 02:28:06.069 5637-5637/?E/AndroidRuntime:致命异常:主 进程:com.myapplication.schedulo,PID:5637 java.lang.RuntimeException:无法启动activity ComponentInfo{com.myapplication.schedulo/com.myapplication.schedulo.MainActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“org.jsoup.select.Elements org.jsoup.nodes.Element.select(java.lang.String)”

我做错了什么

assMan.open("brownbear.html");

NullPointerException位于第二行,因为第一行(
calBlock
)的结果为null。您应该检查选择器
“table#CalBlock”
与所需内容不匹配的原因。尝试分析文档
cal
的HTML,并检查它是否包含id为
CalBlock
。您确定正在解析的页面没有使用JavaScript动态/异步加载某些片段吗

你搞定了。非常感谢。
Element calBlock =  cal.select("table#CalBlock").first();
Element calRows = calBlock.select("tr").get(0);