0

次のコードは、ページのコンテンツをファイルに保存します。

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

ただし、ファイルの名前はWebサイトのページと同じである必要があります。たとえば、Webページの名前を取得して、ファイルの名前として割り当てる必要があります。

4

1 に答える 1

2

URL.getFile()を使用してファイル名を取得できます。つまり

...
String htmlFileName = PageURL.getFile();
...

異なるURLが同じファイルを参照する場合があることに注意してください:、、http://example.com/test.html#anch1- 3つすべてがここで同じファイルを参照しhttp://example.com/test.htmlます。この場合、とどういうわけかを組み合わせたいと思うかもしれません。http://example.com/test.html?a=btest.htmlgetFile()getRef()getQuery()

コード内のいくつかの問題に言及する価値があります。

  1. 変数名を;lowerCaseの代わりに開始します。UpperCase
  2. finallyリソースをブロックで閉じます。より良いのは、Java 7を使用する場合は、try-with-resourcesを使用することです。
于 2012-11-19T14:29:51.393 に答える