java中用ZipOutputStream进行压缩文件,如何让生成的压缩文件的ZipEnity为只读的

java中用ZipOutputStream进行压缩文件,如何让生成的压缩文件的ZipEnity为只读的,第1张

只读属性从属于文件系统的种类,比如NTFS、FAT、EXT3等的实现方法都不一样。

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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11242004.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存