Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用站点名称保存文件_Java_File Io_Web Scraping - Fatal编程技术网

Java 使用站点名称保存文件

Java 使用站点名称保存文件,java,file-io,web-scraping,Java,File Io,Web Scraping,以下代码将页面内容保存到文件中: import java.net.*; import java.io.*; public class url { public static void main(String[] args) { try { URL PageUrl; URLConnection GetConn = null;

以下代码将页面内容保存到文件中:

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



public class url
{
      public static void main(String[] args)
      {
           try
                  {
                    URL PageUrl;
                    URLConnection GetConn = null;
                    GetConn = null;

                     PageUrl = new URL("https://www.google.ru/");
                     GetConn = PageUrl.openConnection();

                    GetConn.connect();

                    InputStreamReader ReadIn = new InputStreamReader(GetConn.getInputStream());
                    BufferedReader BufData = new BufferedReader(ReadIn);
                    String htmlFileName = ("C:\\hello.html");
                    FileWriter FWriter = new FileWriter(htmlFileName);
                    BufferedWriter BWriter = new BufferedWriter(FWriter);
                    String UrlData = null;
                    while ((UrlData = BufData.readLine()) != null)
                    {
                          BWriter.write(UrlData);
                          BWriter.newLine();
                    }
                    BWriter.close();
              }
              catch(IOException io)
              {
                   System.out.println(io);
              }
      }
} 
但是我需要文件与网站页面同名,例如,它必须以某种方式获取网页名称并将其指定为文件名。

您可以使用来获取文件名。即

...
String htmlFileName = PageURL.getFile();
...
请注意,不同的URL可能引用相同的文件:
http://example.com/test.html#anch1
http://example.com/test.html
http://example.com/test.html?a=b
-这三个文件在这里引用相同的
test.html
文件。在这种情况下,您可能希望以某种方式组合
getFile()
getRef()
getQuery()

值得一提的是代码中的一些问题:

  • 变量名以
    小写
    开头,而不是
    大写
  • 最后关闭
    块中的资源。更好的是,如果您使用Java7,请使用

  • 我还是新来的,但仍然不明白这一点,你可以编写代码,我相信这对你来说很容易,你可以插入,你在我的代码中有什么建议我认为文本“
    小写
    而不是
    大写
    ”应该删除代码块(因为单词不是代码),而是指向or,或Java代码约定文档。