html转换为java,将HTML转换为Java中的纯文本

我需要将

HTML转换为纯文本.我唯一的格式化要求是在纯文本中保留新行.应该显示新的行,不仅在< br>但其他标签,例如< tr />,< / p为H.也导致了一条新线. 用于测试的HTML页面示例如下:“http://www.particle.kth.se/~lindsey/

JavaCourse/Book/Part1/Java/Chapter09/scannerConsole.html”或“http://www.javadb.com/write -to-file-using-bufferedwriter“.请注意,这些只是随机的网址.

我已经尝试了以下线程中提到的将HTML转换为纯文本的各种库(JSoup,Javax.swing,Apache utils).

参考:“https://stackoverflow.com/questions/240546/removing-html-from-a-java-string”

使用JSoup的示例:

public class JSoupTest {

@Test

public void SimpleParse() {

try {

Document doc = Jsoup.connect("http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter09/scannerConsole.html").get();

System.out.print(doc.text());

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

HTMLEditorKit示例:

import javax.swing.text.html.*;

import javax.swing.text.html.parser.*;

public class Html2Text extends HTMLEditorKit.ParserCallback {

StringBuffer s;

public Html2Text() {}

public void parse(Reader in) throws IOException {

s = new StringBuffer();

ParserDelegator delegator = new ParserDelegator();

// the third parameter is TRUE to ignore charset directive

delegator.parse(in, this, Boolean.TRUE);

}

public void handleText(char[] text, int pos) {

s.append(text);

}

public String getText() {

return s.toString();

}

public static void main (String[] args) {

try {

// the HTML to convert

URL url = new URL("http://www.javadb.com/write-to-file-using-bufferedwriter");

URLConnection conn = url.openConnection();

BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));

String inputLine;

String finalContents = "";

while ((inputLine = reader.readLine()) != null) {

finalContents += "\n" + inputLine.replace("

}

BufferedWriter writer = new BufferedWriter(new FileWriter("samples/testHtml.html"));

writer.write(finalContents);

writer.close();

FileReader in = new FileReader("samples/testHtml.html");

Html2Text parser = new Html2Text();

parser.parse(in);

in.close();

System.out.println(parser.getText());

}

catch (Exception e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值