Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7564667 建立时间: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 |
|
[Java代码]Java加密和数字签名 软件技术
lhwork 发表于 2006/11/1 10:05:41 |
本文主要谈一下密码学中的加密和数字签名,以及其在java中如何进行使用。对密码学有兴趣的伙伴,推荐看
Bruce Schneier的著作:Applied
Crypotography。在jdk1.5的发行版本中安全性方面有了很大的改进,也提供了对RSA算法的直接支持,现在我们从实例入手解决问题(本文
仅是作为简单介绍):
一、密码学上常用的概念
1)消息摘要:
这是一种与消息认证码结合使用以确保消息完整性的技术。主要使用单向散列函数算法,可用于检验消息的完整性,和通过散列密码直接以文本形式保存等,目前
广泛使用的算法有MD4、MD5、SHA-1,jdk1.5对上面都提供了支持,在java中进行消息摘要很简单,
java.security.MessageDigest提供了一个简易的操作方法:
| |
[Java代码]四个有用的过虑器 Filter 软件技术
lhwork 发表于 2006/10/17 9:46:16 |
一、使浏览器不缓存页面的过滤器
import javax.servlet.*; import javax.servlet.http.HttpServletResponse; import java.io.IOException;/** * 用于的使 Browser 不缓存页面的过滤器 */ public class ForceNoCacheFilter implements Filter { public
void doFilter(ServletRequest request, ServletResponse response,
FilterChain filterChain) throws IOException, ServletException { ((HttpServletResponse) response).setHeader("Cache-Control","no-cache"); &nb |
|
[Java代码]Javascript身份证校验(原创) 软件技术
lhwork 发表于 2006/10/16 11:09:35 |
//身份证号码校验,并从中拆分出出生年月日和性别 var yyyy; var mm; var dd; var birthday; var sex; function getYear(){ return yyyy; } function getMonth(){ return mm; } function getDate(){ return dd; } function getBirthday(){ return birthday; } function getSex(){ return sex; } function getAge(){ var mm=getMonth(); i |
|
« 1 ›
|