只读属性从属于文件系统的种类,比如NTFS、FAT、EXT3等的实现方法都不一样。zip格式标准中,没有规定怎么去记录文件属性。就是说,即使设了属性,解码器也不强制需要遵守,不一定会还原成只读文件。目前可还原只读属性的解压器都是遵守win/dos下的某种“潜规则”,把属性放在扩展区块extra field中。Java可以用ZipEntry.setExtra设置这些扩展驱。可以自己用压缩一个只读文件的zip,然后用ZipEntry.getExtra照抄分析出这种潜规则。