![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
util
文章平均质量分 73
fuckcdn
这个作者很懒,什么都没留下…
展开
-
公约数,公倍数和素数的简单计算
为自己留作备份,省得用到的时候再去寻找简单的计算最大公约数,最小公倍数和素数的. public class MathTest { /** * 最大公约数<br> * Stein算法 * * @param a * @param b * @return */ private static int gcd(int a,...原创 2012-04-01 16:08:44 · 150 阅读 · 0 评论 -
来,让我们一起画个印章吧
这几天发现有哥们在介绍如何画出swing,正好我也受命做一个简单的印章.今天完工,抽出来一个典型的凑下热闹,让大家乐呵乐呵.还是老习惯,不多说,上代码和图片. 主类:package i2534.iteye.com;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Font;impo...原创 2011-07-04 14:52:37 · 249 阅读 · 0 评论 -
用jsoup分析下载巨鲸的mp3
这两天突然想听听杰克逊的歌.首选当然是巨鲸.支持正版.发现在线收听都会重复下载,浪费带宽,并且网络差的时候听让人崩溃.下载下来.网站不提供批量下载,手动一个一个点可不是我们程序员的风格.分析了下它的源代码,挺整齐的,OK,jsoup闪亮登场.这里用最新的1.51.代码很简单:package com.javaeye.i2534;import java.io.F...2011-02-25 15:37:52 · 149 阅读 · 0 评论 -
java System属性
自定义:java -Dname=valueStandard System Properties Property NameDescriptionJava Versionfile.encodingThe character encoding for the default locale1.1file.e...原创 2011-09-19 10:14:40 · 85 阅读 · 0 评论 -
获取子类的泛型参数
用的时候不好找,今天看nutz的dao的源码看到了,摘出来备份 public static Type[] getTypeParams(Class<?> klass) { if (klass == null || "java.lang.Object".equals(klass.getName())) return null; // 看看父类 Type sup...原创 2011-01-27 16:03:48 · 160 阅读 · 0 评论 -
svg中的arc转化为java中的arc
最近项目需要解析svg中的path.直线和贝塞尔曲线都好办,唯独arc不太好办.svg中的arc是由弧上两点,角度确定的,而java中的arc是由弧的外接矩形和角度决定的.所有中间需要一个转换工作.好吧,我自己是转化不来的,apache的batik提供了全套的svg解析,它肯定转化过来了.于是去拔它的算法.中间辛苦不用说,找到了相关的计算类. 仿照PathIterator做...2011-05-27 15:31:14 · 302 阅读 · 0 评论 -
java弱引用hashset和arraylist
工作中需要用到弱引用的集合和列表.网上搜集了点资料,自己整理下发出来备份.WeakHashSet是模仿HashSet的实现方式,使用WeakHashMap实现的.WeakArrayList是修改自org.arakhne.util.ref下的WeakArrayList.SpeedyKit.copyOf方法是1.6中Arrays下同名方法.我用的1.5,需要把此方法拷贝出来. im...原创 2010-11-04 16:52:35 · 359 阅读 · 0 评论 -
log4j日志文件的相对路径
一直没能很好的解决log4j的日志文件的保存路径.今天恰好又遇到.算是比较完美的解决.先说场景:一个web项目,使用log4j做日志系统.开发时web容器为jetty,生产环境为tomcat5.5.classes下定义了log4j.properties.log4j.appender.A2=org.apache.log4j.RollingFileAppenderlog4j.a...2011-09-01 10:51:48 · 141 阅读 · 0 评论 -
javassist创建类并添加方法
无聊,发现很多项目都有javassist这个包,做了个demo,创建一个临时类有时还挺有用的. ClassPool cp = ClassPool.getDefault(); try { CtClass cc = cp.makeClass("Tester"); CtMethod cm = new CtMethod(CtClass.intType, "add", new ...原创 2010-10-26 16:44:06 · 1239 阅读 · 1 评论 -
swing做的简易的lrc显示组件
今天上班实在是无法静下心来工作,突然想到给我以前写的mp3播放器添加一个歌词显示组件.大概思路是这样.在一个组件上绘制出所有的歌词信息.然后按照歌曲进度和歌词所在的进度移动示口,把要显示的那行歌词显示在组件中央.如果必要,可以重绘组件屏幕中央的那行文字.加上一些效果.(现在没有做)而且也没有做offset的修正. 现在实在是太简陋了,等有空再完善.要做的事实在太多了....原创 2010-10-09 16:23:45 · 89 阅读 · 0 评论 -
java调节音量
今天需要给mp3播放器添加音量调节功能.搜索了下,发现了以下方法,大同小异: 首先是 Java and Sound, Part 1 中 Playing Sounds with javax.sound提供了一个例子,贴在下面import java.io.*;/** * This class is a Swing component that can load and pl...原创 2010-09-29 15:45:03 · 2497 阅读 · 2 评论 -
电子表格中1900,1904系统和date之间的转化
由于1900和1904都早于历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历),所以需要使用GregorianCalendar来计算.其实使用joda计算最方便,但是不能为了这两个计算就引入几百K的jar包.所以自己动手,查了些资料,自己写了出来. /** * 1900日期系统:电子表格将1900年1月1日保存为序列号2...原创 2010-09-27 16:08:21 · 906 阅读 · 0 评论 -
自用的MD5计算工具
/** * 检查输入流的MD5值是否符合.如果MD5为null则直接返回此流. * * @param md5 * 验证码 * @param is * 源输入流 * @return 处理后的输入流,和源输入流可能不为一个对象 */ private InputStream checkMD5(String...原创 2011-03-11 15:45:27 · 105 阅读 · 0 评论 -
偶尔发现,但很实用,官方的求素数的方法
以前老是为求素数发愁,不管怎么做,效率总是不高.今天为求一个数的阶乘而使用了BigInteger.本来想找一下BigInteger中输出科学计数格式的方法,没想到偶尔看到了: public BigIntegernextProbablePrime()返回大于此 BigInteger 的可能为素数的第一个整数。此方法返回的数是合数的概率不超出 2-100。...2010-11-10 11:04:38 · 79 阅读 · 0 评论 -
java简单打印
没什么,就是一个简单的打印,留作存档 public class PrintTest implements Printable { public static void main(String[] args) { PrinterJob job = PrinterJob.getPrinterJob(); job.setJobName("Print Test!");...原创 2012-03-08 09:56:47 · 213 阅读 · 0 评论 -
h2的baseDir
使用h2 1.3.161.在web项目中.计划在Listener中启动h2的TcpServer.并设置数据库文件到WEB-INF下的h2文件夹下.本来想的好好的,获取WEB-INF的地址,传给Server,使用baseDir,却无论如何都不行.最后直接在启动Server前,把path设置进System.properties中,key为h2.baseDir.然后不管是使用jdbc:h...2011-11-11 16:38:11 · 310 阅读 · 0 评论 -
httpclient4的封装
没什么特别的,自己封装着用的.package cpcns.office.client.http;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStr...2012-01-06 15:11:12 · 161 阅读 · 0 评论 -
swing的拖拽(dnd)的简单实现
这几天项目需要用到dnd,API比较麻烦.在网上找了很多,都只有代码片段,没有完整的示例.就自己研究了下,写了出来.现在提取出来dnd的实现,放在这里,供大家参考.如图,把组件从左边拖到右边.因为截图的关系,鼠标无法显示.demo是可以运行的jar.应该是1.5以上可以运行src是源代码....2011-03-28 10:18:43 · 337 阅读 · 0 评论 -
eclipse下自动打包项目并部署到web项目的lib下
修改web项目的.settings下的org.eclipse.wst.common.component文件,添加dependent-module节点即可.(http://www.eclipse.org/forums/index.php/t/204020/) <?xml version="1.0" encoding="UTF-8"?><project-modules...2011-10-18 15:59:30 · 189 阅读 · 0 评论 -
Apache codec中的base64
一直使用sun的base64,但是感觉不是很好,毕竟不是标准包中的.所以把codec中的base64摘出来,以备后用 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file dist...2011-07-20 09:46:23 · 411 阅读 · 0 评论 -
获取汉字的五笔,全拼和双拼的工具类
如题,项目需要,首先可用的自然是pinyin4j.在不考虑多音字的情况下,全拼自然搞定.双拼只是替换了全拼的声母和韵母,使用正则和对照也可以搞定.就是要注意声母中并没有y和w,但是常用拼音中却有,正则中要加入这两个.五笔的话,参看我上一篇文章. 这里放出工具类,注意引入pinyin4j-2.5.jar包 public class StringUtil { /**...2011-10-10 15:51:11 · 515 阅读 · 0 评论 -
五笔86和汉字对照表
项目要用到汉字转拼音和五笔,拼音容易,使用pinyin4j.五笔的话,搜索到的一个,似乎只有3000个左右汉字,恐怕不够.查了下,xp下可以使用C:\Program Files\Windows NT\Accessories\Imegen.exe来逆转换码表.在xp下安装王码五笔86版.安装完毕后,在system32下找到winwb86.MB文件进行逆转化.生成初始的对照表后,去除不...2011-10-09 16:53:46 · 449 阅读 · 0 评论 -
自己写的多线程对象池
/** * 排版器的一个公用接口 <br> * 实现此接口的排版器,需要有无参数的构造方法供实例化.<br> * */public interface ILayouter { /** * 排版 */ void layout(); /** * 重置 */ void reset(); /** *...原创 2010-12-10 16:53:32 · 131 阅读 · 0 评论 -
apache poi读取excel中的颜色,真是坑爹啊
工作原因,需要使用poi来读取excel中的所有内容.其他都还好说,就颜色是到目前为止最坑爹的,估计是当初写的时候只针对97-2003了,现在出来2007,搞得乱七八糟的.通过自己查找源码,终于算是搞定了. 代码如下:首先定义个颜色的beanpublic class ColorInfo{ /** * 颜色的alpha值,此值控制了颜色的透明度 */ pu...2010-12-01 16:23:23 · 1836 阅读 · 5 评论 -
查找项目中实现接口的所有类
最近为项目写了一个公式执行功能,其中函数太多,只能写了一个接口,用到哪个函数实现哪个函数.问题来了:怎么知道实现函数接口的类的存在?想了两个办法:1:写配置文件,实现一个类,在配置文件里添加一条实现类的路径.但是此方法限制了灵活性.2:在函数执行前,自动搜索项目path下所有实现了接口的类.方法1很简单,不论是xml还是properties都可以.这里就不用多说了.方法2在网上...2010-11-15 13:45:20 · 223 阅读 · 0 评论 -
jetty6.1.25的简单应用
这几天搞一个web项目,用eclipse的j2ee,每改一次就部署一次速度实在让人不敢恭维.再加上频繁的重启动服务器,打算用jetty的纯API方式代替.结果搞了两三个小时才搞定.其实很简单,放在这里做备份: package lan.server;import org.mortbay.jetty.Server;import org.mortbay.jetty.webapp.We...原创 2010-09-26 14:44:50 · 334 阅读 · 0 评论 -
导出javadoc的一些参数
今天需要把写过的代码导出一份doc来,使用eclipse.本来以为很就简单,但是还是出现了一些问题,这里把解决方法记下:首先是乱码,这个没有问题,一搜一大堆.-encoding UTF-8 -charset UTF-8再就是项目比较大时,导出到后来会oom,这个需要配置JVM参数,但是和java参数稍微有点不同,如-J-Xmx512m -J-Xms512m.最后就是一大堆的警告,意思就...原创 2010-07-06 18:07:51 · 132 阅读 · 0 评论 -
简单的通过注解运行的dao
项目是个老项目,是个比较简单,但是编码比较凌乱的项目.数据库字段设计的比较长,还是中文拼音,没有区分大小写.这两天改sql部分的代码.感觉要崩溃了.但是不能换掉这部分,因为这里还耦合了json等一堆东西,换了还不如重写.这也是程序员的悲剧.于是自己写了个sql拼接,并写了个简单的dao.其实这是个吃力不讨好的工作,但是毕竟是个有用的东西,所以放上来.觉得这个东西不够用的,可以去...2011-01-26 11:47:14 · 101 阅读 · 0 评论 -
使用com4j读取注册表获取软件安装列表
这个曾经煎熬了我很多天的问题,在遇到了com4j后终于解决,感谢com4j的作者。把下载下来的dll文件放入path路径下,然后就可以编码了。我这里主要用到的是wmi和wsh,这两个包在哪里?哈哈,其实就在samples包里,提供的有源代码,自己编译后打包成jar导入就可以了。而且作者提供的demo很详细的哦。ps:网上也有许多其他的读取注册表的包,但是,大部分在读取中文信息的时候工作...2009-11-12 18:14:59 · 167 阅读 · 0 评论 -
给桌面程序及嵌入一个derby
桌面程序也要用到数据库的,derby自然是首选,这个资料很多,官方的就够用,但是。。。太多了,搞的都不知道那个文档有用。。。,研究了一天,终于可以用来,其实很简单。import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statem...2009-11-12 18:02:52 · 75 阅读 · 0 评论 -
lucene 2.9的简单使用
项目做的很杂,又用到了lucene对特定文件的内容进行搜索,检查特定词汇。经过查资料,看demo,实验,终于写出来了。ps:网上的资料大部分很老啊,类老是对不上号。 先建立索引import java.io.File;import java.io.FileFilter;import java.io.FileReader;import java.io.IOExcepti...2009-11-12 17:54:00 · 114 阅读 · 0 评论 -
多线程下载
这个是下载的工具类,改编自网上找到的annegu兄的代码,这位仁兄是多线程断点,但是我这里不需要断点,所以做了简化。import java.io.File;import java.io.IOException;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLCon...2009-11-12 17:37:37 · 61 阅读 · 0 评论 -
用common-net-ftp上传文件
这个是上传文件的工具类,也很简单 import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.net.SocketExcep...2009-11-12 17:31:41 · 106 阅读 · 0 评论 -
用commons-compress打包文件和文件夹
这个没什么可说的,直接上代码,这个没有解决文件可能存在的重名问题。 import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import java.util.Map;...2009-11-12 17:27:25 · 1078 阅读 · 0 评论 -
OutputStream转InputStream
最近做的东西比较杂,所以把用到的工具一个一个的贴上来留作保存。这个是输出流转成一个输入流的,在我这里发生的场景是,先把文件打包成输出流,然后ftp上传,需要输入流,不想再生成一个中间的文件,所以需要os 转 is。最先想到的就是 ByteArrayOutputstream转化成byte数组然后构造一个ByteArrayInputStream的,但是感觉不是很好,如果文件过大,不知道会不会内...2009-11-12 17:23:43 · 130 阅读 · 0 评论 -
网页上的utf8转汉字
最近无聊,准备做一个下载google上mp3的小工具,网上也有几款,但是感觉不是很方便,就自己用java做一个。现在刚刚开始,是用httpclient获取页面源代码,用正则匹配出来的。google音乐里的汉字都编码过,类似于&#22022;这样的,要转成汉字,自己写了个方法,已备后用 private static String getChinese(String n...2009-11-12 17:13:21 · 107 阅读 · 0 评论 -
使用JNI一些值得注意的地方
最近要使用JNI来做一些程序,花了一下午的时间,终于搞定,记录一下步骤,方便以后使用。 安装gcc等编译工具,我用的cygwin。。。真的很麻烦,不过终于搞定了。这个网上资料很多。 写natvie类,这个也没什么。 生成头文件,javah,也很简单,注意要用全路径,也就是包路径+类名,如java.lang.String 导入头文件和java的include里的所有文...2009-11-12 17:04:27 · 65 阅读 · 0 评论 -
关于Timer的固定延迟策略
老大让把以前的定时改成固定延迟的策略,即把以前固定的15分钟执行的任务改成没15分钟执行一次,但是如果上一次在15分钟没执行完毕,就等它执行完毕再执行(别管什么任务居然可以执行15分钟.......是个javamail收信的问题,可能会卡收信好几天...一直找不到好的方法).查了下API,Time.schedule(TimerTask task, long delay, long period...2009-04-23 16:23:07 · 335 阅读 · 0 评论 -
mina的小demo
最近很无聊,找些新玩意玩玩,正好看到了mina的介绍,下了2.0M5的zip,看看example,再查查资料,写了下面的列子,虽然简单,但是问题还真不少,好在快下班的时候搞定了,留个纪念,有空再扩展.看名字就知道是啥,看人家的命名,真不是盖得.唯一一点要注意的就是session在关闭时的参数,如果有数据没有flush,可能就是报错.如果有多个地方同时关闭,可能会死锁...package...2009-04-17 17:22:37 · 57 阅读 · 0 评论 -
用com4j调用wmi关闭windows和获取系统日志
接上回,接下来是关机,这个需要用到权限哦PS:以下代码都在windows xp上运行通过,windows 7会有什么表现我还不确定,虽然我现在用的是win7,懒得测试了。但有一点可以确定,wsh的regWrite和regDelete在win7上是不会成功的,我估计是win7的安全机制在其作用。至于vista,啊,vista是什么? private void shutdown...2009-11-12 18:23:02 · 221 阅读 · 0 评论