⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xcorrectinghtmlwriter.java

📁 XBrowser是一个完全免费并且开源的Web浏览器
💻 JAVA
字号:
/*****************************************************************              XBrowser  -  eXtended web Browser                **                                                               **           Copyright (c) 2000-2001  Armond Avanes              **     Refer to ReadMe & License files for more information      **                                                               **                                                               **                 By: Uladzimir V. Kavalchuk                    **               Uladzimir_Kavalchuk@ep.minsk.by                 **               http://xbrowser.sourceforge.net/                ******************************************************************/package xbrowser.renderer.custom;import java.io.*;/** Filter (bad) HTMLWriter's output to restore &#num; symbols. *  Used by XHTMLEditorKit for saving file. *   @since 3.7 *   @author wwk */public class XCorrectingHTMLWriter extends FilterWriter{    public XCorrectingHTMLWriter(Writer out)    {        super(out);    }    /** I looked at HTMLWriter implementation -- this method used that way. */    public void write(char cbuf[], int off, int len) throws IOException    {        if( lastWasStart)        {            lastWasStart = false;        char c = convertToInteger(cbuf);            if( c != 160)                out.write(c);            else                out.write("&#160;"); // This must go as is.            ignoreSemicolon = true;        }        else if( len == 2 && cbuf[0] == '&' && cbuf[1] == '#')            lastWasStart = true;        else        {            if( ! ignoreSemicolon || len != 1 || cbuf[0] != ';')                out.write(cbuf, off, len);            ignoreSemicolon = false;        }    }    private char convertToInteger(char []buf)    {	int i = 0;	int v = 0;	int len = buf.length;	char c;        do        {            c = buf[i];            if( ! Character.isDigit( c))                break;            v *= 10;            v += Character.digit( c, 10);        }        while( ++i < len);        return (char) v;    }// Attributes:    private boolean lastWasStart = false;    private boolean ignoreSemicolon = false;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -