
zip格式标准中,没有规定怎么去记录文件属性。就是说,即使设了属性,解码器也不强制需要遵守,不一定会还原成只读文件。
目前可还原只读属性的解压器都是遵守win/dos下的某种“潜规则”,把属性放在扩展区块extra field中。Java可以用ZipEntry.setExtra设置这些扩展驱。
可以自己用压缩一个只读文件的zip,然后用ZipEntry.getExtra照抄分析出这种潜规则。
汉字是按多字节存储的。根据字符集不同,一个汉字可能有2、3、4个字节。你在读一个汉字文件时,必须了解文件的字符集(或者称编码方式,比如GBK、UTF-8等等)。java里一般都是用InputStreamReader来读数据的,初始化InputStreamReader时可以设定字符集,这样读出来就直接成了汉字。
可以参考:http://www.2cto.com/kf/201302/190183.html
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)