当前位置: 首页 > 知识库问答 >
问题:

从HTML解析android中的文本文件

司徒焕
2023-03-14

所以我在这方面做了一点工作,遇到了麻烦。当它开始处理时,它总是给我一个致命的错误<基本上,我想从互联网上读取一个文本文件,然后对其进行解析,这样我就可以开始分解它,并使用JSON解析器处理JSON数据。但是再往下一点(我已经完成了部分)。我只是在连接和下载数据方面遇到了问题。我只想读入文本文件,然后再次打印出来。谢谢你在这方面的帮助。

这就是它给我的

01-26 15:11:48.373 1958-1958/com。实例mmillar。urljsonparser I/art:Not late enabling-Xcheck:jni(ready on)01-26 15:11:48.556 1958-1958/com。实例mmillar。urljsonparser D/HTML

所以我有点迷失了方向。我想我一切都准备好了,一切都很好。像inputstream、bufferreader等等。这就是我所拥有的。

这是解析器程序

public class JSONParser extends AsyncTask<String, Void, String>{

@Override
protected String doInBackground(String... inputUrl) {
    getStream(inputUrl[0]);
    return null;
}

public void getStream(String urlString)
{
    Log.d("HTML inJSON: ", urlString );
    //variables for the connection and downloading the JSON data
    URL url = null;
    HttpURLConnection urlConnection = null;
    InputStream inputStream = null;

    try {
        url = new URL(urlString);
        urlConnection = (HttpURLConnection)url.openConnection();
        urlConnection.setRequestMethod("GET");
        urlConnection.connect();
        Log.d("Status:","Connection Opened");
        //read in the data
        BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
        //build the data for parsing
        StringBuilder myString = new StringBuilder();
        String line;
        while((line = br.readLine()) !=null)
        {
            myString.append(line);
        }
        Log.d("Status:"," JSON loaded into string");
        Log.d("Total:", myString.toString());


    } catch (IOException e) {
        e.printStackTrace();
    }finally {
        if (urlConnection != null)
        {
            //close the connection
            urlConnection.disconnect();
            Log.d("Status:", " Closing connection");
        }
    }
}

}

这是我刚刚运行的主程序,因为我只想从文件输出到控制台,我只想确保它工作正常。

public class MainActivity extends AppCompatActivity {
//http://textfiles.com/100/914bbs.txt
private String testHtml = "http://textfiles.com/100/914bbs.txt";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Log.d("HTML P1: ", testHtml );
    JSONParser jp = new JSONParser();
    Log.d("HTML P2: ", testHtml );
    jp.getStream(testHtml);
    Log.d("HTML P3: ", testHtml);


}

共有1个答案

归建安
2023-03-14

而不是使用

jp.getStream(testHtml); 

使用

jp.execute("stream url here");

目前,您正在尝试在AsyncTask中创建一个函数,但没有利用AsyncTask的使用。它仍然尝试在main Thread上创建HttpConnection,这会引发异常。

 类似资料:
  • 我有一个包含员工信息的文本文件。第一个单词是员工的姓氏,第二个单词是第一个名字。字符代码h或s告诉我他们是什么样的员工,有薪或小时。最后,字符代码后面的数字是小时工资(如果为小时工)或年薪(如果为受薪员工)。 我想对这些信息做的是扫描文本文件,根据识别的字符代码自动创建新的受薪员工对象或小时员工对象。 这些是小时雇员对象的参数。 这就是我想到的。 这段代码的问题是,我从in.nextDouble(

  • 问题内容: 我想搜索一个html文件,然后获取该页面上图像的URL。然后,该网址应另存为字符串-多数民众赞成。问题是我真的不知道如何开始。 我的应用程序当然知道图像所在页面的网址。举个例子,让这个URL: 在此页面上,我需要大图像的URL作为字符串。当我查看源代码时,我可以找到该URL,但是我不知道该如何编码-这是我需要的URL: (仅引号内的文本)。 问题答案: 使用JSoup。这是一个HTML

  • 问题内容: 我有一个看起来像这样的日志文件(简化) Logline样本 我想提取 数据中 包含的json 并创建两个字段,一个用于名字,一个用于姓氏。但是,我得到的输出是这样的: 如你看到的 那不是我所需要的,我需要在kibana中为firstname和lastname创建字段,但是logstash不会使用json过滤器提取字段。 LogStash配置 非常感谢任何帮助,我敢肯定我错过了一些简单的

  • 问题内容: 我正在尝试从这样的站点地图中提取URL:https : //www.bestbuy.com/sitemap_c_0.xml.gz 我已经解压缩并将.xml.gz文件另存为.xml文件。结构如下: 我正在尝试使用ElementTree提取整个文件中 loc 节点内的所有URL ,但仍在努力使其正常工作。 根据文档,我正在尝试这样的事情: 但是,没有任何东西可以载入价值。我的目标是提取lo

  • 问题内容: 我是Python的新手,我搜索如何解析.txt文件。我的.txt文件是一个包含计算信息的名称列表,例如: myfile.txt var0 = 16 var1 = 1.12434E10 var2 = -1.923E-3 var3 = 920 如何读取值并将其放入python中? 问题答案: 我建议将值存储在字典中,而不是存储在单独的局部变量中: 现在以身份访问它们。如果名称都是有效的py

  • 主要内容:Jsoup 解析HTML正文 语法,Jsoup 解析HTML正文 说明,Jsoup 解析HTML正文 示例以下示例将展示将 HTML 片段字符串解析为 Element 对象作为 html 正文。 Jsoup 解析HTML正文 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 片段字符串。 body : 表示文档正文元素的子元素,等效于 document.getElementsByTag("body"