【问题标题】:Wiring a Java file to save the Links from a HTML page bu inputting a URl into a dialogue box通过在对话框中输入 URl 来连接 Java 文件以保存 HTML 页面中的链接
【发布时间】:2014-03-18 18:45:34
【问题描述】:

这是我的代码 sn-p

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

public class UrlReader {
public static void main(String[] args) throws IOException {


String name = JOptionPane.showInputDialog("Enter a URL");
String address = "http://";

  URL chula = new URL(address+name);
  URLConnection yc = chula.openConnection();
  //BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
  Scanner in = new Scanner(new InputStreamReader(yc.getInputStream()));

  PrintWriter output = new PrintWriter("MynewFile.txt");
  while (in.hasNext()) {
  String inputLine = in.nextLine();
  output.println(inputLine);


     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));



       }
       in.close();
       output.close();
          }

          }}

由于某种原因,它没有保存到文件 Mynewfile.txt 有谁知道这背后的原因? 我是 Java 新手,还在学习,所以我有点困惑。还有人知道如何只保存插入到文件的 URL 中的链接,而不是保存整个 HTML 代码。 非常感谢所有帮助,并提前感谢您

【问题讨论】:

    标签: java html swing url


    【解决方案1】:

    你可以试试这个:-

    inputFile.getPath() 将为您获取文件路径。你需要 inputFile.getParent() 来获取文件的目录。

    String fileDir = inputFile.getParent(); 
    String fileName = "MynewFile.txt";
    File f = new File (fileDir,fileName);
    PrintWriter printWriter = new PrintWriter (f);
    

    【讨论】:

      【解决方案2】:

      您发送的代码 sn-p 中的一个错误是您正在关闭 while 循环内的流。这段代码可能会抛出一个IOException,因为下次你正在阅读一个封闭的InputStream。这是一个应该在 Java 7 下工作的更正:

      public static void main(String[] args) throws IOException
      {
          String name = JOptionPane.showInputDialog("Enter a URL");
          String address = "http://";
          URL chula = new URL(address + name);
          URLConnection yc = chula.openConnection();
      
          try(Scanner in = new Scanner(new InputStreamReader(yc.getInputStream()));
              PrintWriter output = new PrintWriter("MynewFile.txt"))
          {
              while (in.hasNext())
              {
                  String inputLine = in.nextLine();
      
                  output.println(inputLine);
                  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));
                  }
              }
          }
          catch (IOException e)
          {
              e.printStackTrace();
          }
      }
      

      您应该在您的项目主页中查找文件MynewFile.txt

      【讨论】:

      • 谢谢。但是,不幸的是,它似乎不起作用,但感谢您的帮助
      • 有什么问题?你能找到 MynewFile.txt 吗?是空的吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      相关资源
      最近更新 更多