enigma1234567890
asked on
jave code explained
I have the following java code to pull <a href links from a website could someone explain what it does in simple terms it comes from this website but has no explination http://www.rgagnon.com/javadetails/java-0639.html
my aim is to turn it into a method that receives a string and returns the links
import java.io.IOException;
import java.io.FileReader;
import java.io.Reader;
import java.util.List;
import java.util.ArrayList;
import javax.swing.text.html.pars er.ParserD elegator;
import javax.swing.text.html.HTML EditorKit. ParserCall back;
import javax.swing.text.html.HTML .Tag;
import javax.swing.text.html.HTML .Attribute ;
import javax.swing.text.MutableAt tributeSet ;
public class HTMLUtils {
private HTMLUtils() {}
public static List<String> extractLinks(Reader reader) throws IOException {
final ArrayList<String> list = new ArrayList<String>();
ParserDelegator parserDelegator = new ParserDelegator();
ParserCallback parserCallback = new ParserCallback() {
public void handleText(final char[] data, final int pos) { }
public void handleStartTag(Tag tag, MutableAttributeSet attribute, int pos) {
if (tag == Tag.A) {
String address = (String) attribute.getAttribute(Att ribute.HRE F);
list.add(address);
}
}
public void handleEndTag(Tag t, final int pos) { }
public void handleSimpleTag(Tag t, MutableAttributeSet a, final int pos) { }
public void handleComment(final char[] data, final int pos) { }
public void handleError(final java.lang.String errMsg, final int pos) { }
};
parserDelegator.parse(read er, parserCallback, false);
return list;
}
public final static void main(String[] args) throws Exception{
FileReader reader = new FileReader("java-new.html" );
List<String> links = HTMLUtils.extractLinks(rea der);
for (String link : links) {
System.out.println(link);
}
}
}
my aim is to turn it into a method that receives a string and returns the links
import java.io.IOException;
import java.io.FileReader;
import java.io.Reader;
import java.util.List;
import java.util.ArrayList;
import javax.swing.text.html.pars
import javax.swing.text.html.HTML
import javax.swing.text.html.HTML
import javax.swing.text.html.HTML
import javax.swing.text.MutableAt
public class HTMLUtils {
private HTMLUtils() {}
public static List<String> extractLinks(Reader reader) throws IOException {
final ArrayList<String> list = new ArrayList<String>();
ParserDelegator parserDelegator = new ParserDelegator();
ParserCallback parserCallback = new ParserCallback() {
public void handleText(final char[] data, final int pos) { }
public void handleStartTag(Tag tag, MutableAttributeSet attribute, int pos) {
if (tag == Tag.A) {
String address = (String) attribute.getAttribute(Att
list.add(address);
}
}
public void handleEndTag(Tag t, final int pos) { }
public void handleSimpleTag(Tag t, MutableAttributeSet a, final int pos) { }
public void handleComment(final char[] data, final int pos) { }
public void handleError(final java.lang.String errMsg, final int pos) { }
};
parserDelegator.parse(read
return list;
}
public final static void main(String[] args) throws Exception{
FileReader reader = new FileReader("java-new.html"
List<String> links = HTMLUtils.extractLinks(rea
for (String link : links) {
System.out.println(link);
}
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.