- 浏览: 460049 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
ty1972873004:
sunwang810812 写道我运行了这个例子,怎么结果是这 ...
Java并发编程: 使用Semaphore限制资源并发访问的线程数 -
lgh1992314:
simpleDean 写道请问,Logger.setLevel ...
Java内置Logger详解 -
sunwang810812:
我运行了这个例子,怎么结果是这样的:2号车泊车6号车泊车5号车 ...
Java并发编程: 使用Semaphore限制资源并发访问的线程数 -
jp260715007:
nanjiwubing123 写道参考你的用法,用如下方式实现 ...
面试题--三个线程循环打印ABC10次的几种解决方法 -
cb_0312:
SurnameDictionary文章我没看完,现在懂了
中文排序
在CSDN或者ITEYE等网站上,如果直接复制代码,复制的代码中可能有多余的行标。
例如:
本文就是简单实现一个小程序,目的就是去除这些多余的行标信息。
行标的特点:空格或者TAB+数字+点号
根据这个特点,写一个适合这种情况的正则表达式==> ^*\\d{1,}+\\.
此正则表达式只适合上面描述的行标,如果复制的代码拥有的行标特点不一样,则需要调整正则表达式。
小程序代码如下:
一个简单的文件过滤器类,主要用于过滤到没有内容的空文件。
一个用于去除行标的类
测试代码:
控制台输出结果如下:
Source Folder ==> D:\SrcFolder
Destination Folder ==> D:\DestFolder
Convert Files start.......
MyTest.java is converted.
MyThread.java is converted.
test.txt is converted.
Convert Files end.......
Total elapsed time ==> 37ms
处理前和处理后的文件内容截图如下:
处理前
处理后
例如:
1.public class MyThread implements Runnable { 2. public void run() { 3. for(int i=0; i<10; i++){ 4. System.out.println(Thread.currentThread().getName()+":"+i); 5. } 6. } 7.} 8.public class MyThreadClient { 9. public static void main(String[] args){ 10. Thread t = new Thread(new MyThread()); 11. t.start(); 12. for(int i=0; i<10; i++){ 13. System.out.println(Thread.currentThread().getName()+":"+i); 14. Thread.yield(); 15. } 16. } 17.}
本文就是简单实现一个小程序,目的就是去除这些多余的行标信息。
行标的特点:空格或者TAB+数字+点号
根据这个特点,写一个适合这种情况的正则表达式==> ^*\\d{1,}+\\.
此正则表达式只适合上面描述的行标,如果复制的代码拥有的行标特点不一样,则需要调整正则表达式。
小程序代码如下:
一个简单的文件过滤器类,主要用于过滤到没有内容的空文件。
package my.tool.file.convertor; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; /** * * 一个简单的文件过滤器,主要用于过滤到没有内容的空文件。 * * @author Eric * */ public class EmptyFileFilter implements FileFilter { public boolean accept(File pathname) { return !isFileEmpty(pathname); } private boolean isFileEmpty(File file) { FileInputStream fis = null; boolean flag = true; try { fis = new FileInputStream(file); try { if (fis.available() != 0) { flag = false; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (null != fis) { try { fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { fis = null; } } } return flag; } }
一个用于去除行标的类
package my.tool.file.convertor; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class FileConvertor { private static final String REGEX_LINE_NUMBER = "^*\\d{1,}+\\."; public void convert(String srcFolder, String destFolder) { for (File file : new File(srcFolder).listFiles(new EmptyFileFilter())) { convertFile(file, destFolder); System.out.println(file.getName() + " is converted."); } } private void convertFile(File file, String destFolder) { BufferedReader br = null; BufferedWriter bw = null; try { br = new BufferedReader(new FileReader(file)); bw = new BufferedWriter(new FileWriter(new File(destFolder, file .getName()))); String line = null; while (null != (line = br.readLine())) { bw.write(removeLineNumber(line)); bw.newLine(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (br != null) { try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { br = null; } } if (null != bw) { try { bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { bw = null; } } } } private String removeLineNumber(String value) { value = value.replaceAll(REGEX_LINE_NUMBER, ""); return value; } }
测试代码:
package my.tool.file.convertor; public class Main { private static final String DESTINATION_FOLDER = "D:\\DestFolder"; private static final String SOURCE_FOLDER = "D:\\SrcFolder"; public static void main(String[] args) { System.out.println("Source Folder ==> " + SOURCE_FOLDER); System.out.println("Destination Folder ==> " + DESTINATION_FOLDER); System.out.println("Convert Files start......."); long start = System.currentTimeMillis(); new FileConvertor().convert(SOURCE_FOLDER, DESTINATION_FOLDER); long end = System.currentTimeMillis(); System.out.println("Convert Files end......."); System.out.println("Total elapsed time ==> " + (end - start) + "ms"); } }
控制台输出结果如下:
Source Folder ==> D:\SrcFolder
Destination Folder ==> D:\DestFolder
Convert Files start.......
MyTest.java is converted.
MyThread.java is converted.
test.txt is converted.
Convert Files end.......
Total elapsed time ==> 37ms
处理前和处理后的文件内容截图如下:
处理前
处理后
发表评论
-
工厂类中移除if/else语句
2016-07-10 19:52 850面向对象语言的一个强大的特性是多态,它可以用来在代码中移除 ... -
Java编程练手100题
2014-12-11 17:13 6670本文给出100道Java编程练手的程序。 列表如下: 面 ... -
数组复制的三种方法
2014-11-30 12:57 2176本文将给出三种实现数组复制的方法 (以复制整数数组为例)。 ... -
数组复制的三种方法
2014-11-30 12:54 0本文将给出三种实现数组复制的方法 (以复制整数数组为例)。 ... -
四种复制文件的方法
2014-11-29 13:21 1684尽管Java提供了一个类ava.io.File用于文件的操 ... -
判断一个字符串中的字符是否都只出现一次
2014-11-25 12:58 2655本篇博文将给大家带来几个判断一个字符串中的字符是否都只出现一 ... -
使用正则表达式判断一个数是否为素数
2014-11-23 13:35 2104正则表达式能够用于判断一个数是否为素数,这个以前完全没有想过 ... -
几个可以用英文单词表达的正则表达式
2014-11-21 13:12 3697本文,我们将来看一下几个可以用英文单词表达的正则表达式。这些 ... -
(广度优先搜索)打印所有可能的括号组合
2014-11-20 11:58 1915问题:给定一个正整n,作为括号的对数,输出所有括号可能 ... -
随机产生由特殊字符,大小写字母以及数字组成的字符串,且每种字符都至少出现一次
2014-11-19 14:48 3939题目:随机产生字符串,字符串中的字符只能由特殊字符 (! ... -
找出1到n缺失的一个数
2014-11-18 12:57 3114题目:Problem description: You h ... -
EnumSet的几个例子
2014-11-14 16:24 8707EnumSet 是一个与枚举类型一起使用的专用 Set 实现 ... -
给定两个有序数组和一个指定的sum值,从两个数组中各找一个数使得这两个数的和与指定的sum值相差最小
2014-11-12 11:24 3284题目:给定两个有序数组和一个指定的sum值,从两个数组 ... -
Java面试编程题练手
2014-11-04 22:49 6650面试编程 写一个程序,去除有序数组中的重复数字 编 ... -
Collections用法整理
2014-10-22 20:55 9797Collections (java.util.Collect ... -
The Code Sample 代码实例 个人博客开通
2014-09-04 18:48 1372个人博客小站开通 http://thecodesample. ... -
Collections.emptyXXX方法
2014-06-08 13:37 2103从JDK 1.5开始, Collections集合工具类中预先 ... -
这代码怎么就打印出"hello world"了呢?
2014-06-08 00:37 7354for (long l = 4946144450195624L ... -
最短时间过桥
2014-04-21 22:03 4071本文用代码实现最短时间过桥,并且打印如下两个例子的最小过桥时间 ... -
将数组分割成差值最小的子集
2014-04-20 22:34 2837本文使用位掩码实现一个功能 ==》将数组分割成差值最小的子集 ...
相关推荐
有的网页设置了不可复制功能。这个小工具可以不受限制地获取网页中的文本内容,可以选择是否包含网页标签。
全景点Wiki提供旅游景点数据服务,具体方法是复制上面的代码,并且放到您的任何站点,如论坛、商城等等,将代码放到标签之前即可。 但注意不要放在或之前,否则有可能无法显示。 使用上述代码后,您的站点将具备一...
网页经典代码(一) 1.将彻底屏蔽鼠标右键,无右键菜单 也可以用于网页中Table框架中(false)><td>no 2.取消选取、防止复制 3.不准粘贴 4.防止复制 ;" oncut="return false;"> 5.IE地址栏前换成自己的图标 说明:...
支持自动切换的tab标签代码,纯js代码,不需要jquery库即可实现 默认3秒钟切换一次,可根据需要做修改 使用方法: ... 2、将 tab标签代码(有说明)复制到你需要的地方,修改下样式即可搞定
复制代码代码如下:<audio src=”song.ogg” controls=”controls”></audio>2.带有不兼容提醒的代码 复制代码代码如下:<audio src=”song.ogg” controls=”controls”>Your browser does not ...
1、使用meta标签:viewport H5移动端页面自适应普遍使用的方法,理论上讲使用这个标签是可以适应所有尺寸的屏幕的,但是各设备对该标签的解释方式及支持程度不同造成了不能兼容...复制代码代码如下: <meta name=”vi
jquery 一键复制指定内容到剪贴板,适合web项目中有一键复制德需求。事件可以绑定到任意指定元素上,非常方便快捷。
IE8在默认情况下是使用全新的标准模式(Standard Mode)显示引擎来显示网页。 如果网页代码还没有标准化, 在IE8下可能会显示不正常。 重写网页代码使之标准...复制代码代码如下:<html> <head> <!– Use
使用键盘从网页中提取代码段。 特征: 支持 支持 支持 支持 支持 支持phpBB论坛 支持 支持 支持嵌入在标签中的代码 支持一个嵌入在标签中的衬纸 行号将被自动剥离 在最新的Firefox和Chrome上测试 安装 在Fire...
复制代码代码如下: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 ...
一、介绍: 我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标 签。也就是OBJECT和EMBED标签。OBJECT标签是用于windows平台的IE浏览器的,...复制代码代码如下: <OBJECT classid=”clsid:D27
在实际网页中,如何实现如何实现父容器高度固定,文字可能一行,两行或更多行的垂直居中对齐呢? 实现的关键是把文字当图片处理。 用一个span标签将所有的文字封装起来,设置文字与图片相同的display属性...
超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...
2.重写“网页_取元素坐标”原命令虽然公开但无效,因为屏蔽了全部代码(代码本身残缺) 故本次属于重写代码,接收参数,改为一个,元素对象,代码简洁,需要更多功能请组合其他命令 3.重写“网页_取域名”增加可空...
老是有些网站会屏蔽你的鼠标右键或者用快捷键复制,其实只是一段js代码,解决的方法就是直接把网页保存下来然后删掉下面这段js代码,然后就可以正常用右键菜单了。 当然,也可以通过设置浏览器的安全级别到最高级别...
拷贝:就是把当前采集的颜色代码复制到剪贴板内 粘贴:就是把剪贴板里的颜色代码读出,显示到颜色框内 撤消:就是恢复上次的操作,《好色鬼》可以撤消十次,但颜色不会保存,下次启动后就自动丢失 手工...
3、样式和内容分离:系统主体框架div+css结构,遵循国际最新W3C网页设计标准,兼容IE系列、火狐等主流浏览器,内容和样式分离让网站风格可以轻松修改和更换,而不会导致内容和结构的破坏。 4、周密的安全策略和...
什么是Viewport 手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤 到很小的窗口中(这样会破坏没有针对手机浏览器优化的...复制代码代码
以下CSS样式实现了各浏览器...复制代码代码如下:moz-user-select: -moz-none;-moz-user-select: none;-o-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;
复制代码代码如下: 主标题,写在这里</h1> 次标题,写在这里 </h6> 复制代码代码如下: <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”> &...