2

先生から、学校の Web から HTML ファイルを読み込むための Java を作成し、不要な部分 (その Web ページで不要な部分) をすべて切り取って、発表部分だけを Web サイトの中央に残し、別の HTML ファイルとして保存するように言われました。

HTMLファイルをJavaに読み込むことができるようになりましたが、編集するコードを記述して(不要な部分を切り取るために)HTMLファイルとして保存することはできません。

これまでに行われたコードは次のとおりです。

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

public class Html {

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

            URL chula = new URL("http://www.ise.eng.chula.ac.th");
            URLConnection yc = chula.openConnection();
            BufferedReader in = new BufferedReader(new InputStreamReader(yc
                    .getInputStream()));

            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                System.out.println(inputLine);
            }
            in.close();
        } 
    }
}
4

1 に答える 1

1

System.out.println(inputLine) を変更します。に:

    PrintWriter output = new PrintWriter("newFile.html");
    output.println(inputLine);

これにより、inputLine のすべての内容が新しいファイルに入力された新しいファイルが作成されます。

私はあなたが入れたコードを編集しました、そして私はあなたが必要とする答えを見つけたと思います

あなたがしなければならないことは、InputStreamReader でスキャナーを使用することです。スキャナーはファイルを読み取ります。この場合は、使用している URL を読み取ります。次に、PrintWriter クラスを使用して新しいファイルを作成し、while ループを次のように変更する必要があります。

    while(in.hasNext()) {}

これは、必要な URL を読み取り、ファイル (URL) の各行を通過し、最後に到達するまで停止しません。次に、while ループ内で URl からの情報を保持する文字列を作成する必要があります。最後に行うことは、コンテンツをファイルに書き込むことです。必ず、スキャナーと書き込み先のファイルの両方を閉じてください。

コードは次のとおりです。

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

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

        URL chula = new URL("http://www.ise.eng.chula.ac.th");
        URLConnection yc = chula.openConnection();
        //BufferedReader in = new BufferedReader(new InputStreamReader(yc
          //      .getInputStream()));
        Scanner in = new Scanner(new InputStreamReader(yc.getInputStream()));

        PrintWriter output = new PrintWriter("newFile.html");
        while (in.hasNext()) {
            String inputLine = in.nextLine();
            output.println(inputLine);
        }
        in.close();
        output.close();
    } 
}

お役に立てれば!

于 2013-04-29T12:40:14.893 に答える