簡體   English   中英

java數據結構替換文件io

[英]java data structure to replace file io

我的程序進入我的uni結果頁面,找到所有鏈接並保存到文件。 然后,我讀取文件並僅復制包含必需鏈接的行,然后將其保存到另一個文件。 然后我再次解析它以提取所需的數據

public class net {

    public static void main(String[] args) throws Exception {
        Document doc = Jsoup.connect("http://jntuconnect.net/results_archive/").get();

        Elements links = doc.select("a");
        File f1 = new File("flink.txt");
        File f2 = new File("rlink.txt");

            //write extracted links to f1 file
        FileUtils.writeLines(f1, links);

            // store each link from f1 file in string list
        List<String>  linklist  = FileUtils.readLines(f1);

            // second string list to store only required link elements
        List<String> rlinklist = new ArrayList<String>();

        // loop which finds required links and stores in rlinklist 
        for(String elem : linklist){
            if(elem.contains("B.Tech") && (elem.contains("R07")||elem.contains("R09"))){
                rlinklist.add(elem);                
            }           
        }           
        //store required links in f2 file
        FileUtils.writeLines(f2, rlinklist);

        // parse links from f2  file
        Document rdoc = Jsoup.parse(f2, null);
        Elements rlinks = rdoc.select("a");

        //  for storing hrefs and link text 
        List<String> rhref = new ArrayList<String>();
        List<String> rtext = new ArrayList<String>();

        for(Element rlink : rlinks){
            rhref.add(rlink.attr("href"));
            rtext.add(rlink.text());
        }

    }// end main

}

我不想創建文件來執行此操作。 有沒有更好的方法來獲取href和僅鏈接特定URL的文本而不創建文件?

它使用Apache commons fileutils,jsoup

這是擺脫第一個文件讀寫的方法:

Elements links = doc.select("a");
List<String> linklist = new ArrayList<String>();
for (Element elt : links) {
    linklist.add(elt.toString());
}

如果我理解代碼,則第二次往返旨在提取符合特定測試的鏈接。 您可以使用相同的技術在內存中執行此操作。

我看到您依靠Jsoup.parse從選定的鏈接中提取href和鏈接文本。 您可以在內存中通過將選定的節點寫入StringBuffer ,通過調用toString()方法將其轉換為String ,然后使用采用String而不是File參數的Jsoup.parse方法之一來將其Jsoup.parseString

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM