java - 如何通过 Java 将 HTML 存储在另一个文件中

标签 java html hyperlink

嘿伙计们,我想做的是出现一个对话框,输入一个 URL,然后一个文件将存储该 URL 的超链接。

我出现了对话框,但不确定如何将它连接到另一个文件并只保存超链接而不是保存整个 HTML 文件

import java.io.IOException;
import java.net.URL;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class MyCrawler {

    public static void main(String[] args) throws IOException {
        String name = JOptionPane.showInputDialog("Enter a URL");
        String address = "http://";
        URL pageLocation = new URL(address);
        Scanner in = new Scanner(pageLocation.openStream());
        while (in.hasNext()) {
            String line = in.next();

            if (line.contains("href=\"http://")) {
                int from = line.indexOf("\"");
                int to = line.lastIndexOf("\"");
                System.out.println(line.substring(from + 1, to));
            }
        }
    }
}

我还有另一个单独的文件,它存储 URL oracle 的信息,但它将所有 HTML 信息存储在一个单独的文件中。有谁知道我如何将这 2 个文件连接在一起并只存储文件的超链接?

import java.net.*;
import java.io.*;
import java.util.*;

public class URLReader {

    public static void main(String[] args) throws Exception {
        URL oracle = new URL("http://www.oracle.com/");
        BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream()));
        BufferedWriter writer = new BufferedWriter(new FileWriter("outputfile.txt"));

        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            try {
                writer.write(inputLine);
            } catch (IOException e) {
                e.printStackTrace();
                return;
            }
        }
        in.close();
        writer.close();
    }
}

最佳答案

您需要将事件处理程序连接到 GUI 中的文本输入框。关注Swing Trail了解更多。

为了下载和解析 HTML,我强烈推荐 JSoup这将使您能够访问 HTML 的各个方面(例如链接)并对它们执行您自己的应用程序逻辑,例如将它们添加到列表然后将列表写入文件。

关于java - 如何通过 Java 将 HTML 存储在另一个文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22381168/

相关文章:

javascript - 应用三次贝塞尔函数为属性更改设置动画

javascript - 点击新按钮数量的计数器(HTML/Javascript)

hyperlink - 将链接重定向到其他域(有条件)的最佳方法?

html - 如何建立一个无处可去的链接?

java - 如何转义xml中的<和≤符号?

java - 使用带有参数 capstyle flat 的 JTS BufferOP 时,点几何图形产生空多边形结果

java - 否定不适用于 .equalsIgnoreCase()

javascript - 如何使用 CSS 编辑输入类型数据

c# - 超链接、按钮以及打开新浏览器窗口的任何内容的列表

java - Scala、Elasticsearch 新的 RestHighLevelClient 和 BulkProcessor