JAVA处理的HTML的工具类.docx_第1页
JAVA处理的HTML的工具类.docx_第2页
JAVA处理的HTML的工具类.docx_第3页
JAVA处理的HTML的工具类.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA处理的HTML的工具类,可以生成静态HTML页面,将HTML的内容转成纯文本。可以用于一些爬虫功能或者一些特殊处理的地方,代码有比较清晰的注释,所以也可以用于I/O流和HTML标签相关正则表达式的学习。package example.utils.html;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.util.regex.Pattern;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.WriteListener;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletResponseWrapper;import org.apache.log4j.Logger;/* * HTML页面工具类 * * author Javier.Yao * */public class HtmlUtils private static Logger logger = Logger.getLogger(HtmlUtils.class);/* * 生成静态HTML页面的方法 * * param request * 请求对象 * param response * 响应对象 * param servletContext * Servlet上下文 * param fileName * 文件名称 * param fileFullPath * 文件完整路径 * param jspPath * 需要生成静态文件的JSP路径(相对即可) * throws IOException * throws ServletException */public void createStaticHTMLPage(HttpServletRequest request, HttpServletResponse response, ServletContext servletContext, String fileName, String fileFullPath, String jspPath)throws ServletException, IOException response.setContentType(text/html;charset=UTF-8);/ 设置HTML结果流编码(即HTML文件编码)RequestDispatcher rd = servletContext.getRequestDispatcher(jspPath);/ 得到JSP资源final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();/ 用于从ServletOutputStream中接收资源final ServletOutputStream servletOuputStream = new ServletOutputStream() / 用于从HttpServletResponse中接收资源Overridepublic void write(int b) throws IOException byteArrayOutputStream.write(b);public void write(byte b, int off, int len) byteArrayOutputStream.write(b, off, len);Overridepublic void setWriteListener(WriteListener listener) Overridepublic boolean isReady() return false; final PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(byteArrayOutputStream);/ 把转换字节流转换成字符流HttpServletResponse httpServletResponse = new HttpServletResponseWrapper(response) / 用于从response获取结果流资源(重写了两个方法)public ServletOutputStream getOutputStream() return servletOuputStream;public PrintWriter getWriter() return printWriter;rd.include(request, httpServletResponse);/ 发送结果流printWriter.flush();/ 刷新缓冲区,把缓冲区的数据输出FileOutputStream fileOutputStream = new FileOutputStream(fileFullPath);byteArrayOutputStream.writeTo(fileOutputStream);/ 把byteArrayOuputStream中的资源全部写入到fileOuputStream中fileOutputStream.close();/ 关闭输出流,并释放相关资源response.sendRedirect(fileName);/ 发送指定文件流到客户端/* * 将HTML的内容转成纯文本 * * param inputString 带html标签的文本内容 * return 返回纯文本 */public static String Html2Text(String inputString) String htmlStr = inputString;String textStr = ;java.util.regex.Pattern p_script;java.util.regex.Matcher m_script;java.util.regex.Pattern p_style;java.util.regex.Matcher m_style;java.util.regex.Pattern p_html;java.util.regex.Matcher m_html;java.util.regex.Pattern p_html1;java.util.regex.Matcher m_html1;try / 定义script的正则表达式或*?sS*?String regEx_script = *?sS*?;/ 定义style的正则表达式或*?sS*?String regEx_style = *?sS*?;String regEx_html = +; / 定义HTML标签的正则表达式String regEx_html1 = +;p_script = Ppile(regEx_script, Pattern.CASE_INSENSITIVE);m_script = p_script.matcher(htmlStr);htmlStr = m_script.replaceAll(); / 过滤script标签p_style = Ppile(regEx_style, Pattern.CASE_INSENSITIVE);m_style = p_style.matcher(htmlStr);htmlStr = m_style.replaceAll(); / 过滤style标签p_html = Ppile(regEx_html, Pattern.CASE_INSENSITIVE);m_html = p_html.matcher(htmlStr);htmlStr = m_html.replaceAll(); / 过滤html标签p_html1 = Ppile(regEx_html1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论