Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7528946 建立时间:2006年5月29日 |

| |
[Java代码]Java中压缩与解压--中文文件名乱码解决办法 软件技术
lhwork 发表于 2008/4/2 21:30:15 |
java对於文字的编码是以 unicode为基础,因此,若是以ZipInputStream及ZipOutputStream来处理压缩及解压缩的工作,碰到中文档名或路径,那当然是以unicode来处理罗!但是,现在市面上的压缩及解压缩软体,例如winzip,却是不支援unicode的,一碰到档名以unicode编码的档案,它就不处理。 那要如何才能做出让WinRar能够处理的压缩档呢?那就得从修改ZipInputStream及ZipOutputStream对於档名的编码方式来着手了。我们可以从jdk的src.zip取得ZipInputStream及ZipOutputStream的原始码来加以修改
一、ZipOutputStream.java 1.从jdk的src.zip取得ZipOutputStream.java原始码,另存到一个新文件中,档名改为CnZipOutputStream.java。 2.开始修改原始码,将class名称改为CnZipOutputStream 3.建构式也必须更改为CnZipOutputStream 4.新增member,这 |
|
[Java代码]对当前目录下所有文件进行压缩代码 软件技术
lhwork 发表于 2008/4/2 20:48:48 |
import java.io.*; import java.util.zip.*;
public class Test { static final int BUFFER = 2048; public static String ChangeName(String s) { int j = 0; String newstring = ""; for (int i=0; i<s.length(); i++) &n |
|
[Java代码]java zip 中文问题 软件技术
lhwork 发表于 2008/4/2 20:47:36 |
用ant解压包含中文文件名的压缩文件 中文问题是java中的普遍性问题.今天下午遇到一个包含中文文件名的压缩文件解压问题.找了不少资料.现贴出解集. 在java.util.zip包也可以用来处理解压问题,不过对含有中文文件名的压缩包无能为力,这是因为ZipOutputStream压缩和解压ZIP文件对文件名都是以UTF-8编码方式来处理的,而我们用winzip压缩文件对文件名只会以ASCII编码方式来处理.所以会出现编码不一致的问题. 有两种解决方案: 第一种就是修改ZipOutputStream,参考修改如下:(这个我没有测试过) // ZipEntry e = createZipEntry(getUTF8String(b, 0, len)); ZipEntry e=null; try { if (this.encoding.toUpperCase().equals("UTF-8")) e=crea |
|
[iBatis]iBatis for Paging 软件技术
lhwork 发表于 2008/4/2 9:38:54 |
I'm trying to move from pure jdbc to iBatis DAO and SQLMaps. Why iBatis? I have the experience and it is comfortable to be used in an environment where are lots of pre written database procedures and complex queries.
One of the reason why the move to iBatis was due to paging, the requirement is to show data from more than 4 million records, querying data for paging was taking a lot of time using result set. Next step was moving to scrollable result set, however managing the connection |
|
[SELinux]SELinux 的配置小解 软件技术
lhwork 发表于 2008/3/18 9:14:57 |
【转载】 SELinux 是从FC3和AS4起,所提供的一个高级安全特性。 它可以对系统上运行的任何一个应用程序做权限上的控制。 版本低于FC3/AS4的Linux,没有提供SELinux特性,或者默认就是禁用这个特性的。
为了运行Plesk,需要对SELinux做一些修改,否则可能会造成某些服务运行不正常或者启动失败。
SElinux把所有的拒绝信息输出到:/var/log/messages 位置。 如果某个服务比如bind不能正常启动,请查询messages文件来确认是否是SELinux造成服务不能运行。 这些信息可以很简单的使用/usr/bin/audit2allow来更改规则。
运行如下命令,查看哪些程序的访问被SELinux拦截掉了: cat /var/log/messages | /usr/bin/audit2allow
然后,把列出的被拒绝的访问加入到SELinux的配置文件中。
通常,建议加入如下内容:
/etc/selinux/targeted/sr |
|
[CentOS]apache+mod_ssl中证书生成方法 软件技术
lhwork 发表于 2008/3/14 16:13:37 |
为配置一个安全连接,必须要给mod_ssl设置一个安全证书,CentOS默认提供一套证书,但是使用的时候每次都会提示证书签名的域名不正确,于是想弄一套自己的证书,google了很久,很多方法都有问题,最终从这里找到了合适的方法。
首先生成证书请求:
#openssl req -new > server.csr
按照提示输入相关信息后,会在当前目录自动生成server.csr和privkey.pem两个文件,privkey.pem是私钥文件,默认会有passphrase,如果不移除的话,每次运行apache的时候都会提示输入passphrase,所以如果服务器重启后如果你不在服务器前面,则apache无法正常运行。
所以,第二步需要移除passphrase:
#openssl rsa -in privkey.pem -out serve |
|
[Subversion]StatSVN的使用(续) 软件技术
lhwork 发表于 2008/3/14 15:43:29 |
前面一篇我们讲到了StatSVN的简单使用,但是如果每次都要手工去做那些工作,实在麻烦得很。所以这里我们需要写一个脚本,让它定时执行那些操作,这样可以保持报表信息最新的。关于脚本的语言,我选择用了python,哦,又是python,请原谅我,因为最近在学习python,所以什么都想通过python来做。
讲一下主要思路:读取配置文件,取得所需的信息;查看版本库是否存在,不存在则checkout,存在则update;执行svn log生成日期文件;调用java -jar statsvn.jar生成版本库的报表。
开始实现:
1.配置文件两个respository.cfg.xml,statsvn.cfg.xml:
respository.cfg.xml样式
<?xml vers |
|
[MySQL][原创]MySQL的LIST分区体验与总结  软件技术
lhwork 发表于 2008/3/13 22:06:47 |
终于有点空闲时间了,测试一下LIST分区,因为LIST在我们的开发中用到。他分区以后再补上。 版本: Server version: 5.1.23a-maria-alpha-log MySQL Community Server [Maria] (GPL) 一、讲在前面 注意:1、ALTER TABLE也可以用于对带分区的表进行重新分区,所以不能在建表之后再用ALTER TABLE语法。 2、如果你表中有KEY。用来分区的字段必须是KEY的一部份。 3、现在的分区属于水平分 |
|
|