下载 >  开发技术 >  其它 > 正则运用总结TXT阅读文档

正则运用总结TXT阅读文档

正则,运用,总结,TXT阅读文档 正则,运用,总结,TXT阅读文档 正则,运用,总结,TXT阅读文档 正则,运用,总结,TXT阅读文档 正则,运用,总结,TXT阅读文档 正则,运用,总结,TXT阅读文档 正则,运用,总结,TXT阅读文档 正则,运用,总结,TXT阅读文档
2009-07-19 上传大小:1003B
分享
收藏 举报
正则符号解释TXT阅读文档

正则,符号,解释,TXT阅读文档 正则,符号,解释,TXT阅读文档 正则,符号,解释,TXT阅读文档 正则,符号,解释,TXT阅读文档 正则,符号,解释,TXT阅读文档 正则,符号,解释,TXT阅读文档 正则,符号,解释,TXT阅读文档 正则,符号,解释,TXT阅读文档

立即下载
Android实现电子书阅读器实现方案文档

Android实现电子书阅读器实现方案文档,这是一篇毕业设计,写的挺好的,想写阅读器的可以参考下

立即下载
txt文档阅读

package cn.huang.my_txtreader; import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.io.UnsupportedEncodingException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.text.DecimalFormat; import java.util.Vector; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Align; public class BookPageFactory { //把字体绘制到界面上 private File book_file = null; private MappedByteBuffer m_mbBuf = null;//MappedByteBuffer 将文件直接映射到内存 private int m_mbBufLen = 0; private int m_mbBufBegin = 0; private int m_mbBufEnd = 0; private String m_strCharsetName = "gbk";//文本格式 private Bitmap m_book_bg = null;//文本图像 private int mWidth; private int mHeight; private Vector<String> m_lines = new Vector<String>(); //用于一行一行显示 private int m_fontSize = 24; private int m_textColor = Color.BLACK;//字体颜色 private int m_backColor = 0xffff9e85; // 背景颜色 private int marginWidth = 15; // 左右与边缘的距离 private int marginHeight = 20; // 上下与边缘的距离 private int mLineCount; // 每页可以显示的行数 private float mVisibleHeight; // 绘制内容的宽 private float mVisibleWidth; // 绘制内容的宽 private boolean m_isfirstPage,m_islastPage; // private int m_nLineSpaceing = 5; private Paint mPaint; //设置阅读界面,包括字体,显示多少行 public BookPageFactory(int w, int h) { // TODO Auto-generated constructor stub mWidth = w; mHeight = h;//获得宽和高 mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mPaint.setTextAlign(Align.LEFT);//设置文本对齐方式 mPaint.setTextSize(m_fontSize);//设置字体大小 mPaint.setColor(m_textColor);//设置颜色 mVisibleWidth = mWidth - marginWidth * 2; mVisibleHeight = mHeight - marginHeight * 2;//绘制的内容宽和高 mLineCount = (int) (mVisibleHeight / m_fontSize); // 可显示的行数 } //获得文件,并映射到内存 public void openbook(String strFilePath) throws IOException { book_file = new File(strFilePath); long lLen = book_file.length();//文本长度 m_mbBufLen = (int) lLen;//缓存的长度 m_mbBuf = new RandomAccessFile(book_file, "r").getChannel().map( FileChannel.MapMode.READ_ONLY, 0, lLen); //RandomAccessFile是用来访问那些保存数据记录的文件的 } //读一段 protected byte[] readParagraphBack(int nFromPos) { int nEnd = nFromPos;//字符缓存开始的位置 int i; byte b0, b1; if (m_strCharsetName.equals("UTF-16LE")) { i = nEnd - 2;//? while (i > 0) { b0 = m_mbBuf.get(i); b1 = m_mbBuf.get(i + 1); if (b0 == 0x0a && b1 == 0x00 && i != nEnd - 2) { i += 2; break; } i--; } } else if (m_strCharsetName.equals("UTF-16BE")) { i = nEnd - 2; while (i > 0) { b0 = m_mbBuf.get(i);//返回指定索引 b1 = m_mbBuf.get(i + 1); if (b0 == 0x00 && b1 == 0x0a && i != nEnd - 2) { i += 2; break; }//过段时 i--; } } else { i = nEnd - 1;//? while (i > 0) { b0 = m_mbBuf.get(i); if (b0 == 0x0a && i != nEnd - 1) { i++; break; }//过段时 i--; } } if (i < 0) i = 0; //i是过段的索引位置 int nParaSize = nEnd - i; int j; byte[] buf = new byte[nParaSize]; for (j = 0; j < nParaSize; j++) { buf[j] = m_mbBuf.get(i + j); } return buf; } // 读取上一段落 protected byte[] readParagraphForward(int nFromPos) { int nStart = nFromPos;//字符缓存开始的位置 int i = nStart; byte b0, b1; // 根据编码格式判断换行 if (m_strCharsetName.equals("UTF-16LE")) { while (i < m_mbBufLen - 1) { b0 = m_mbBuf.get(i++); b1 = m_mbBuf.get(i++); if (b0 == 0x0a && b1 == 0x00) { break; } } } else if (m_strCharsetName.equals("UTF-16BE")) { while (i < m_mbBufLen - 1) { b0 = m_mbBuf.get(i++); b1 = m_mbBuf.get(i++); if (b0 == 0x00 && b1 == 0x0a) { break; } } } else { while (i < m_mbBufLen) { b0 = m_mbBuf.get(i++); if (b0 == 0x0a) { break; } } } //这使i在换行的索引位置 int nParaSize = i - nStart; byte[] buf = new byte[nParaSize]; for (i = 0; i < nParaSize; i++) { buf[i] = m_mbBuf.get(nFromPos + i); }//把读到的段输入字节流中 return buf; } protected Vector<String> pageDown() { String strParagraph = ""; Vector<String> lines = new Vector<String>(); while (lines.size() < mLineCount && m_mbBufEnd < m_mbBufLen) { //不能大于给定的最多行数 byte[] paraBuf = readParagraphForward(m_mbBufEnd); // 读取一个段落 m_mbBufEnd += paraBuf.length; //减去读到的长度,作为下一个结束的地步 try { strParagraph = new String(paraBuf, m_strCharsetName); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } String strReturn = ""; if (strParagraph.indexOf("\r\n") != -1) { //"\r\n"在字符串中则,下同 strReturn = "\r\n"; strParagraph = strParagraph.replaceAll("\r\n", ""); } else if (strParagraph.indexOf("\n") != -1) { strReturn = "\n"; strParagraph = strParagraph.replaceAll("\n", ""); } if (strParagraph.length() == 0) { lines.add(strParagraph); } while (strParagraph.length() > 0) { int nSize = mPaint.breakText(strParagraph, true, mVisibleWidth, null); //返回刚好要超过规定长度mVisibleWidth的值 lines.add(strParagraph.substring(0, nSize)); strParagraph = strParagraph.substring(nSize); if (lines.size() >= mLineCount) {//超过规定的行数 break; } } if (strParagraph.length() != 0) { try { m_mbBufEnd -= (strParagraph + strReturn) .getBytes(m_strCharsetName).length; //即返回字符串在GBK、UTF-8和ISO8859-1编码下的byte数组表示 //目的在于把m_mbBufEnd改成指向下一行 } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return lines; } //设置文本显示 //预防文本超过界面规定的范围 protected void pageUp() { if (m_mbBufBegin < 0) m_mbBufBegin = 0; Vector<String> lines = new Vector<String>(); String strParagraph = ""; while (lines.size() < mLineCount && m_mbBufBegin > 0) { //不能大于给定的最多行数 Vector<String> paraLines = new Vector<String>(); byte[] paraBuf = readParagraphBack(m_mbBufBegin); //读到一段 //从头开始读 m_mbBufBegin -= paraBuf.length; //减去读到的长度,作为下一个开始要读的标志 try { strParagraph = new String(paraBuf, m_strCharsetName); //第一个参数读到的字符串,第二个参数是文本格式 } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } strParagraph = strParagraph.replaceAll("\r\n", ""); //用第二个参数的字符串替换第一个 strParagraph = strParagraph.replaceAll("\n", ""); //替换掉任何过行的记录 if (strParagraph.length() == 0) {//为空,没有字符串时 paraLines.add(strParagraph); } while (strParagraph.length() > 0) { int nSize = mPaint.breakText(strParagraph, true, mVisibleWidth, null); //测量第一个字符串,与第三个参数即宽度相比 paraLines.add(strParagraph.substring(0, nSize)); //获得0到nSize的字符串 strParagraph = strParagraph.substring(nSize); //字符串变成从nSize开始 }//在于把字符串变成不会超过规定长度mVisibleWidth的字符串 lines.addAll(0, paraLines);//加入所有Vector字符串列 } while (lines.size() > mLineCount) {//超过规定行数时 try { m_mbBufBegin += lines.get(0).getBytes(m_strCharsetName).length; //.get()表示返回指定位置的元素 //String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组 //即返回字符串在GBK、UTF-8和ISO8859-1编码下的byte数组表示 //目的在于把m_mbBufBegin改成指向下一行 lines.remove(0); //删除指定位置的元素 } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } m_mbBufEnd = m_mbBufBegin; return; } protected void prePage() throws IOException { if (m_mbBufBegin <= 0) { m_mbBufBegin = 0; m_isfirstPage=true; return; }else m_isfirstPage=false; m_lines.clear(); //删除所有元素 pageUp(); m_lines = pageDown(); //把收集到的文本放到m_lines中 } public void nextPage() throws IOException { if (m_mbBufEnd >= m_mbBufLen) { m_islastPage=true; return; }else m_islastPage=false; m_lines.clear(); m_mbBufBegin = m_mbBufEnd; m_lines = pageDown(); } public void onDraw(Canvas c) { if (m_lines.size() == 0) m_lines = pageDown(); //现在m_lines的格式是按照 //界面阅读规定的,即有多宽的,有多行 if (m_lines.size() > 0) { if (m_book_bg == null) c.drawColor(m_backColor);//设置背景颜色 else c.drawBitmap(m_book_bg, 0, 0, null); int y = marginHeight; for (String strLine : m_lines) { y += m_fontSize; c.drawText(strLine, marginWidth, y, mPaint); //给界面的每一行绘制 } } float fPercent = (float) (m_mbBufBegin * 1.0 / m_mbBufLen); DecimalFormat df = new DecimalFormat("#0.0");//用于格式化十进制数字 //即按照参数的格式输出 String strPercent = df.format(fPercent * 100) + "%"; int nPercentWidth = (int) mPaint.measureText("999.9%") + 1; //返回字符串的宽度 c.drawText(strPercent, mWidth - nPercentWidth, mHeight - 5, mPaint); } //绘制图像 public void setBgBitmap(Bitmap BG) { m_book_bg = BG; } //返回第一页 public boolean isfirstPage() { return m_isfirstPage; } //返回最后一页 public boolean islastPage() { return m_islastPage; } }

立即下载
各种手机上看文本文件(TXT)的阅读

手机阅读器 各种手机上看文本文件(TXT)的阅读器 把它存在你的手机里,然后用手机点开它就行了.

立即下载
非常好用的TXT文本阅读

小而且非常好用的TXT文本阅读器 界面看的非常舒服 字体大小,背景颜色均可调

立即下载
镜像介绍TXT阅读文档

镜像,介绍,TXT,阅读文档 镜像,介绍,TXT,阅读文档 镜像,介绍,TXT,阅读文档 镜像,介绍,TXT,阅读文档 镜像,介绍,TXT,阅读文档 镜像,介绍,TXT,阅读文档 镜像,介绍,TXT,阅读文档 镜像,介绍,TXT,阅读文档

立即下载
常用正则汇总包含常用js代码

常用正则汇总.txt常用正则汇总.txt常用正则汇总.txt常用正则汇总.txt常用正则汇总.txt

立即下载
数据库正则函数.txt

数据库正则函数.txt 数据库正则函数.txt 数据库正则函数.txt 数据库正则函数.txt

立即下载
Android 最简洁的txt文本阅读器【含源码】

源码 Android txt文本阅读器 最简洁

立即下载
HTML5在线PDF格式文件阅读

HTML5在线PDF格式文件阅读器完成直接页面读PDF文件,做web前端的阅读利器,测试可用

立即下载
可调节透明度的txt文本阅读器[第二版:可读word]

版本历史明细: //-----------Work_TextReader.exe V.2.0 第二版使用说明:需要把Interop.Word.dll和应用文件放在一个文件目录下 此版为Work_TextReader.exe 2.0版,相对第一版: 1)添加了读word文件的功能,只显示word文本,不能显示表格等,需要把Interop.Word.dll和应用文件放在一个文件目录下 2)把隐藏老板键隐藏到图标[Ctrl+0]改成了[Ctrl+~] 3)增加了控件可随随窗口变化而同时变化的功能. 4)把添加标题栏的快捷键[Alt+A]改成了Shift+A] 5)把ABOUT的快捷键[I]改成了[Shift+I] 6)因为也可以读word了,故原名[Work_TextReader]改名成:[Work_Reader] 7)增加了当文本框为空时Set菜单不能用的判断 //-----------Work_TextReader.exe V.1.0 此程序是用C#开发的第一版,因为只是实现一些基本的简单功能,所以就不上传源码了. 如有技术方面的疑问,好的意见或建议,可以发邮件到:lwaipo@163.com 我以后会增加功能让其更完善. 此阅读器主要的功能就是可以调节透明度. 有退出老板键[Esc],隐藏老板键[Ctrl+~] .^_^.用这个在闲暇的时候[一定要在闲暇的时候哦!]看看小说就不会害怕被抓到了..^_^. 功能如下 主界面:1)文件菜单: a)打开文件 2)设置菜单: a)窗体设置: a.1)加减标题栏 a.2)是否最前端显示 a.3)最大化窗口 b)颜色设置: b.1)字体颜色设置 b.2)背景颜色设置 c)字体设置 d)是否WordWrapy显示设置 e)设置文本是否为只读[默认是只读] f)隐藏菜单栏[记得记住快捷键] 3)有关系统 4)退出系统: a)系统退出 b)隐藏到图标 5)调节透明度[可以通过选中后按上下左右方向键来调节] 6)实时时间显示栏

立即下载
代码大全—完整TXT文档

代码大全—完整TXT文档 超级经典,手机 MP4 阅读起来非常舒服,

立即下载
TXT文件朗读器(让电脑帮你读书)

可以把TXT文件在电脑里面以中文朗读出来,可以让你不要费力看文件,让电脑把文件内容朗读出来。可以以后不要看TXT文件内容,让电脑帮你朗读出来,让电脑变成你的秘书。

立即下载
事件处理介绍TXT阅读文档

事件,处理,介绍,TXT,阅读文档 事件,处理,介绍,TXT,阅读文档 事件,处理,介绍,TXT,阅读文档 事件,处理,介绍,TXT,阅读文档 事件,处理,介绍,TXT,阅读文档 事件,处理,介绍,TXT,阅读文档事件,处理,介绍,TXT,阅读文档 事件,处理,介绍,TXT,阅读文档 事件,处理,介绍,TXT,阅读文档

立即下载
《如何阅读一本书》Word中文版

《如何阅读一本书》Word中文版

立即下载
C#屏蔽输入TXT阅读文档

C#,屏蔽输入,TXT阅读文档 C#,屏蔽输入,TXT阅读文档 C#,屏蔽输入,TXT阅读文档 C#,屏蔽输入,TXT阅读文档 C#,屏蔽输入,TXT阅读文档 C#,屏蔽输入,TXT阅读文档 C#,屏蔽输入,TXT阅读文档C#,屏蔽输入,TXT阅读文档

立即下载
JavaScript对象基础知识TXT阅读文档

JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档 JavaScript,脚本,对象基础知识,TXT阅读文档

立即下载
虚拟机定义介绍TXT阅读文档

虚拟机,定义,介绍,TXT,阅读文档 虚拟机,定义,介绍,TXT,阅读文档 虚拟机,定义,介绍,TXT,阅读文档 虚拟机,定义,介绍,TXT,阅读文档 虚拟机,定义,介绍,TXT,阅读文档 虚拟机,定义,介绍,TXT,阅读文档 虚拟机,定义,介绍,TXT,阅读文档 虚拟机,定义,介绍,TXT,阅读文档

立即下载
超级数字天才-中文版

为什么用数据思考才是变聪明的新方法,预估葡萄酒好坏模型,选棒球运动员模型

立即下载
微信小程序Demo:云档(一个在线文档阅读的微信小程序)

云档(一个在线文档阅读的微信小程序),Demo资源来源于:http://www.wxapp-union.com

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

正则运用总结TXT阅读文档

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: