- 浏览: 467461 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 910面向对象语言的一个强大的特性是多态,它可以用来在代码中移除 ... -
Java编程练手100题
2014-12-11 17:13 6735本文给出100道Java编程练手的程序。 列表如下: 面 ... -
数组复制的三种方法
2014-11-30 12:57 2224本文将给出三种实现数组复制的方法 (以复制整数数组为例)。 ... -
数组复制的三种方法
2014-11-30 12:54 0本文将给出三种实现数组复制的方法 (以复制整数数组为例)。 ... -
四种复制文件的方法
2014-11-29 13:21 1746尽管Java提供了一个类ava.io.File用于文件的操 ... -
判断一个字符串中的字符是否都只出现一次
2014-11-25 12:58 2734本篇博文将给大家带来几个判断一个字符串中的字符是否都只出现一 ... -
使用正则表达式判断一个数是否为素数
2014-11-23 13:35 2175正则表达式能够用于判断一个数是否为素数,这个以前完全没有想过 ... -
几个可以用英文单词表达的正则表达式
2014-11-21 13:12 3759本文,我们将来看一下几个可以用英文单词表达的正则表达式。这些 ... -
(广度优先搜索)打印所有可能的括号组合
2014-11-20 11:58 1962问题:给定一个正整n,作为括号的对数,输出所有括号可能 ... -
随机产生由特殊字符,大小写字母以及数字组成的字符串,且每种字符都至少出现一次
2014-11-19 14:48 3985题目:随机产生字符串,字符串中的字符只能由特殊字符 (! ... -
找出1到n缺失的一个数
2014-11-18 12:57 3185题目:Problem description: You h ... -
EnumSet的几个例子
2014-11-14 16:24 8760EnumSet 是一个与枚举类型一起使用的专用 Set 实现 ... -
给定两个有序数组和一个指定的sum值,从两个数组中各找一个数使得这两个数的和与指定的sum值相差最小
2014-11-12 11:24 3336题目:给定两个有序数组和一个指定的sum值,从两个数组 ... -
Java面试编程题练手
2014-11-04 22:49 6707面试编程 写一个程序,去除有序数组中的重复数字 编 ... -
Collections用法整理
2014-10-22 20:55 9852Collections (java.util.Collect ... -
The Code Sample 代码实例 个人博客开通
2014-09-04 18:48 1424个人博客小站开通 http://thecodesample. ... -
Collections.emptyXXX方法
2014-06-08 13:37 2148从JDK 1.5开始, Collections集合工具类中预先 ... -
这代码怎么就打印出"hello world"了呢?
2014-06-08 00:37 7401for (long l = 4946144450195624L ... -
最短时间过桥
2014-04-21 22:03 4163本文用代码实现最短时间过桥,并且打印如下两个例子的最小过桥时间 ... -
将数组分割成差值最小的子集
2014-04-20 22:34 2907本文使用位掩码实现一个功能 ==》将数组分割成差值最小的子集 ...
相关推荐
在网页中实现“运行代码-复制代码-收藏代码-另存代码框”这一功能,涉及到的是前端开发中的多个技术点,主要包括HTML、CSS、JavaScript以及可能的第三方库或框架的应用。下面将详细阐述这些知识点: 1. **HTML**:...
为了让他人无法复制网页上的内容,可以通过使用特定的JavaScript代码实现这一功能。这种方法主要适用于那些希望保护网站内容不被轻易复制的网站管理员或开发者。接下来,我们将详细介绍如何利用这些代码阻止用户复制...
网页爱心表白代码大全,顾名思义,是一个集合了多种HTML、CSS和JavaScript技术...综上所述,"网页爱心表白代码大全"不仅提供了丰富的表白效果,还是一份实用的编程学习材料,帮助你利用技术创造出温馨浪漫的表白场景。
这篇博文(尽管描述为空,但根据标题我们可以推测其内容)可能讲解了如何在网页中实现JS代码的高亮显示和添加复制代码的功能。 代码高亮是指在展示代码时,不同类型的语句或关键字用不同的颜色和样式突出显示,以...
在本文中,我们将探讨一些常用的网页设计代码及其应用,以及如何保护网页代码和内容不被他人轻易获取。 首先,我们来看一个实现表格半透明显示效果的技巧。在网页中,可以使用CSS样式来控制元素的透明度。通过在`...
网页复制微信打开微信通用demo是一种方便的网页技术,主要用于在网页上实现快速复制微信号或相关推广链接,便于用户通过微信进行分享和传播。这个技术主要针对的是那些希望提高网络广告推广效果,尤其是利用微信社交...
其次,“复制代码”功能通常是为开发者提供的便利,他们可能需要将示例代码复制到自己的项目中。在网页上实现这一功能,通常会用到JavaScript的选中和复制操作。例如,可以创建一个按钮,当用户点击时,JavaScript会...
此外,通过JavaScript函数`oncontextmenu="return false"`和`onselectstart="return false"`可以禁用网页上的右键点击上下文菜单和文本选择功能,这对于保护网站内容不被轻易复制或防止意外操作具有一定的作用。...
"千千静听"是一款经典的音乐播放软件,其网页版播放器代码的出现,使得用户无需下载客户端,即可在浏览器中享受音乐。这个压缩包文件包含的“千千静听-网页版播放器”源码,是开发者们研究网页音频播放技术、优化...
在提供的压缩包文件“复制代码.html”中,我们可以推测这是一个HTML文档,可能包含了关于如何在网页环境中复制代码的示例或教程。HTML(超文本标记语言)是网页制作的基础,经常需要复制和粘贴代码来构建和修改网页...
以上内容详细介绍了如何通过JavaScript技术来实现网页中的下载、复制代码和使用右键功能的禁用。这些技术不仅有助于保护网页内容的安全,还能为用户提供更加稳定和可控的浏览体验。在实际开发过程中,开发者还需要...
### 如何破解网页上的不可复制文字 在互联网的日常使用过程中,我们经常遇到一些网站上的文字内容虽然看起来很直观,但却无法直接复制的情况。这主要是因为网页开发者通过各种技术手段限制了用户对网页内容的复制...
在网页设计中,引入特效代码可以为网站增添互动性和吸引力。本教程将详细介绍如何将网页特效代码正确地插入到HTML页面中,以充分利用这些代码库提供的功能。以下是一些关键步骤和注意事项: 1. **理解网页特效代码...
【VB.NET实现多标签网页浏览器】是一个基于VB.NET 2008开发的应用程序,它提供了类似现代浏览器的用户体验,支持多个标签同时打开不同的网页,同时也集成了百度搜索引擎,使得用户可以直接在应用程序内部进行网络...
在描述中提到的“自动下载网页css代码和图片”,表明这个工具是自动化操作的,可以省去手动复制和保存CSS及图片的繁琐步骤。用户只需提供网页URL,csstp就能自动抓取页面上的所有CSS资源和引用到的图片,极大地提高...
网页禁止复制实现是一种常见的网页保护措施,主要目的是防止未经授权的内容被轻易复制和传播。在互联网上,许多网站尤其是提供原创内容或受版权保护的站点,可能会采取这样的技术手段来保护其知识产权。以下将详细...
根据给定文件的信息,...综上所述,通过分析给定的文件信息,我们了解了如何利用简单的 JavaScript 代码来实现对网页内容的复制。虽然这种方法在某些特定场景下非常有用,但同时也需要注意相关的安全性和兼容性问题。
HTML代码运行器是一种在线工具,它允许用户在Web浏览器中编写、测试和运行HTML代码,无需在本地计算机上安装任何软件。...在“html代码运行器可以...用户可以通过复制代码和保存代码效果来便捷地管理和使用他们的工作。
本文将针对“破解网页禁止复制及代码加密script加密”这一主题进行深入探讨,包括常见的网页防护手段、破解方法以及道德与法律方面的考虑。 ### 常见的网页防护手段 #### 1. **禁用鼠标右键** - 许多网站通过禁用...