java游戏下载教育需不需要惩罚把文件减压???

3679人阅读
java基础(10)
java里面有个包叫java.util.zip提供zip文件压缩,但是编码的时候非常不方便。编码量太多了,通过搜索,发现apache有个包提供一些简单的方法来实现zip文件的压缩与解压缩。下载地址:
下载下来解压缩后,该包中的ant.jar里面提供了zip文件压缩与解压缩的功能代码。在项目中引用该类库。
要压缩成zip文件,涉及到的问题如下:
1.将要压缩的文件添加到zip文件包中。
2.组织好要压缩的文件目录与压缩后的zip文件目录一致。
3.文件名以及文件夹名中文字符编码。
4.解压缩zip文件,并将解压缩后的文件及文件夹的组织形式要与压缩前的一致。
在设计该类的时候,我编写了一下几个方法:
第一个zip方法,将来填入要压缩的文件或文件夹路径,然后压缩成zip文件并保存到指定位置。代码如下:
* 压缩文件或者文件夹 压缩采用gb2312编码,其它编码方式可能造成文件名与文件夹名使用中文的情况下压缩后为乱码。。。
4 * @param source
要压缩的文件或者文件夹
建议使用&c:/abc&或者&c:/abc/aaa.txt&这种形式来给定压缩路径
使用&c:\\abc& 或者&c:\\abc\\aaa.txt&这种形式来给定路径的话,可能导致出现压缩和解压缩路径意外故障。。。
* @param zipFileName
压缩后的zip文件名称 压缩后的目录组织与windows的zip压缩的目录组织相同。
会根据压缩的目录的名称,在压缩文件夹中创建一个改名的根目录, 其它压缩的文件和文件夹都在该目录下依照原来的文件目录组织形式
* @throws IOException
压缩文件的过程中可能会抛出IO异常,请自行处理该异常。
14 &public static void ZIP(String source, String zipFileName)
throws IOException {
ZipOutputStream zos = new ZipOutputStream(new File(zipFileName));
// 设置压缩的时候文件名编码为gb2312
zos.setEncoding(&gb2312&);
// System.out.println(zos.getEncoding());
File f = new File(source);
if (f.isDirectory()) {
// 如果直接压缩文件夹
ZIPDIR(source, zos, f.getName() + &/&);// 此处使用/来表示目录,如果使用\\来表示目录的话,会导致压缩后的文件目录组织形式在解压缩的时候不能正确识别。
// 如果直接压缩文件
ZIPDIR(f.getPath(), zos, new File(f.getParent()).getName() + &/&);
ZIPFile(f.getPath(), zos, new File(f.getParent()).getName() + &/&
+ f.getName());
zos.closeEntry();
zos.close();
为了很好的解决中文编码问题,这里在创建ZipOutputStream 输出流的时候就指定其编码为gb2312,这样无论将来是中文的文件名和文件夹,都可以被正确的识别,不会出现乱码的情况。
特别提醒大家注意的是,文件的路径使用的斜杠最好是&/&,如果用&\\&来表示路径的话,表面上看这是区分好了文件夹,其实在解压缩的时候zipfile对象就不能很好的识别其为文件夹,有可能将其识别为文件,导致解压出错。这里是个关键点!
第二个ZIPFile方法,专门将指定的文件压缩成为zip文件的方法。代码如下:
* zip 压缩单个文件。 除非有特殊需要,否则请调用ZIP方法来压缩文件!
4 * @param sourceFileName
要压缩的原文件
* @param zipFileName
压缩后的文件名
* @param zipFileName
压缩后的文件名
* @throws IOException
抛出文件异常
13 public static void ZIPFile(String sourceFileName, ZipOutputStream zos,
String tager) throws IOException {
// System.out.println(tager);
ZipEntry ze = new ZipEntry(tager);
zos.putNextEntry(ze);
// 读取要压缩文件并将其添加到压缩文件中
FileInputStream fis = new FileInputStream(new File(sourceFileName));
byte[] bf = new byte[2048];
int location = 0;
while ((location = fis.read(bf)) != -1) {
zos.write(bf, 0, location);
fis.close();
说明:这里写入zip文件流的时候使用了缓存,如果不使用将导致压缩的时间过长。。。(每次从硬盘读取一个字节并写入到zip文件流中,加重了硬盘的负担。。。)
经过我的机器测试,这个缓存设置没有太多的性能差别,但是小于1024后就有较大的区别了。所以建议设置为1024或者2048。
第三个ZIPDIR方法,专门在ZIP文件中添加文件夹的方法。代码如下:
* 压缩目录。 除非有特殊需要,否则请调用ZIP方法来压缩文件!
4 * @param sourceDir
需要压缩的目录位置
* @param zos
压缩到的zip文件
* @param tager
压缩到的目标位置
* @throws IOException
压缩文件的过程中可能会抛出IO异常,请自行处理该异常。
13 public static void ZIPDIR(String sourceDir, ZipOutputStream zos,
String tager) throws IOException {
// System.out.println(tager);
ZipEntry ze = new ZipEntry(tager);
zos.putNextEntry(ze);
// 提取要压缩的文件夹中的所有文件
File f = new File(sourceDir);
File[] flist = f.listFiles();
if (flist != null) {
// 如果该文件夹下有文件则提取所有的文件进行压缩
for (File fsub : flist) {
if (fsub.isDirectory()) {
// 如果是目录则进行目录压缩
ZIPDIR(fsub.getPath(), zos, tager + fsub.getName() + &/&);
// 如果是文件,则进行文件压缩
ZIPFile(fsub.getPath(), zos, tager + fsub.getName());
说明:这里使用了递归的方式来读取要压缩的文件夹中的下级文件夹,全部将其压到zip文件中,用来组织好将来压缩好的zip文件里面的目录形式。
第四个UnZip方法,专门用于解压缩zip文件的方法。代码如下:
* 解压缩zip文件
4 * @param sourceFileName
要解压缩的zip文件
* @param desDir
解压缩到的目录
* @throws IOException
压缩文件的过程中可能会抛出IO异常,请自行处理该异常。
11 public static void UnZIP(String sourceFileName, String desDir)
throws IOException {
// 创建压缩文件对象
ZipFile zf = new ZipFile(new File(sourceFileName));
// 获取压缩文件中的文件枚举
Enumeration&ZipEntry& en = zf.getEntries();
int length = 0;
byte[] b = new byte[2048];
// 提取压缩文件夹中的所有压缩实例对象
while (en.hasMoreElements()) {
ZipEntry ze = en.nextElement();
// System.out.println(&压缩文件夹中的内容:&+ze.getName());
// System.out.println(&是否是文件夹:&+ze.isDirectory());
// 创建解压缩后的文件实例对象
File f = new File(desDir + ze.getName());
// System.out.println(&解压后的内容:&+f.getPath());
// System.out.println(&是否是文件夹:&+f.isDirectory());
// 如果当前压缩文件中的实例对象是文件夹就在解压缩后的文件夹中创建该文件夹
if (ze.isDirectory()) {
f.mkdirs();
// 如果当前解压缩文件的父级文件夹没有创建的话,则创建好父级文件夹
if (!f.getParentFile().exists()) {
f.getParentFile().mkdirs();
// 将当前文件的内容写入解压后的文件夹中。
OutputStream outputStream = new FileOutputStream(f);
InputStream inputStream = zf.getInputStream(ze);
while ((length = inputStream.read(b)) & 0)
outputStream.write(b, 0, length);
inputStream.close();
outputStream.close();
zf.close();
解压缩的过程并不复杂,读取zip文件,提取里面的每个zip实体,然后将其解压缩。
如果该zip实体是目录,则在解压到的文件夹中创建文件夹,如果是文件,则在指定的目录中创建文件。
这个zip压缩与解压缩代码基本完毕,写个代码测试一下效果:
long starTime = 0;
long endTime = 0;
// 测试压缩目录
// ZIPDIR(&c:\\A&,
// &c:\\A.zip&);
// 测试压缩单个文件
// ZIPFile(&c:\\A.txt&,
// &c:\\A.zip&);
System.out.println(&开始压缩...&);
starTime = System.currentTimeMillis();
ZIP(&c:\\A&,
&c:\\A.zip&);
endTime = System.currentTimeMillis();
System.out.println(&压缩完毕!花费时间: & + (endTime - starTime) + & 毫秒!&);
System.out.println(&开始解压...&);
starTime = System.currentTimeMillis();
UnZIP(&c:\\A.zip&,
&c:\\A\\&);
endTime = System.currentTimeMillis();
System.out.println(&解压完毕!花费时间: & + (endTime - starTime) + & 毫秒!&);
} catch (Exception ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
文章转载自
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:65639次
排名:千里之外
转载:28篇
(3)(4)(11)(3)(2)(5)(2)(2)(1)已经把游戏下载到桌面上了``可是还要什么减压``怎么往手机里装啊?_百度知道
已经把游戏下载到桌面上了``可是还要什么减压``怎么往手机里装啊?
是解压吧,jar,安装软件不一定相同,就解压缩,如果是java游戏的话,用手机JAVA加载器安装!你下的是什么文件什么叫做减压,也可以通过软件和数据线安装到手机,rar如果是rar的话,jad,但是不同的手机,拷贝到手机存储卡,一般都是JAR文件,得具体网上找
其他类似问题
为您推荐:
其他2条回答
手机游戏本来就个压缩文件样,给它放到你手机的JAVA文件下!
直接用读卡器把游戏转入手机里的内存卡里。有的手机可以自动减压安装游戏。
您可能关注的推广
减压的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁zip4j zip文件压缩、解压开源代码,Java版 Develop 238万源代码下载-
&文件名称: zip4j
& & & & &&]
&&所属分类:
&&开发工具: Java
&&文件大小: 172 KB
&&上传时间:
&&下载次数: 4
&&提 供 者:
&详细说明:zip文件压缩、解压开源代码,Java版-Java Edition source code of ZIP File compression, decompression
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&zip4j\.classpath&&.....\.project&&.....\.settings\org.eclipse.jdt.core.prefs&&.....\bin\net\lingala\zip4j\examples\extract\ExtractAllFiles.class&&.....\...\...\.......\.....\........\.......\ExtractAllFilesWithInputStreams.class&&.....\...\...\.......\.....\........\.......\ExtractByLoopAllFiles.class&&.....\...\...\.......\.....\........\.......\ExtractSelectFilesWithInputStream.class&&.....\...\...\.......\.....\........\.......\ExtractSingleFile.class&&.....\...\...\.......\.....\........\misc\CheckZipFileSplitArchive.class&&.....\...\...\.......\.....\........\....\ListAllFilesInZipFile.class&&.....\...\...\.......\.....\........\....\ProgressInformation.class&&.....\...\...\.......\.....\........\....\RemoveFileFromZipFile.class&&.....\...\...\.......\.....\........\zip\AddFilesDeflateComp.class&&.....\...\...\.......\.....\........\...\AddFilesStoreComp.class&&.....\...\...\.......\.....\........\...\AddFilesToFolderInZip.class&&.....\...\...\.......\.....\........\...\AddFilesWithAESEncryption.class&&.....\...\...\.......\.....\........\...\AddFilesWithStandardZipEncryption.class&&.....\...\...\.......\.....\........\...\AddFolder.class&&.....\...\...\.......\.....\........\...\AddStreamToZip.class&&.....\...\...\.......\.....\........\...\CreateSplitZipFile.class&&.....\...\...\.......\.....\........\...\CreateSplitZipFileFromFolder.class&&.....\...\...\.......\.....\........\...\CreateZipWithOutputStreams.class&&.....\...\...\.......\.....\........\...\CreateZipWithOutputStreamsStandardEnc.class&&.....\src\net\lingala\zip4j\examples\extract\ExtractAllFiles.java&&.....\...\...\.......\.....\........\.......\ExtractAllFilesWithInputStreams.java&&.....\...\...\.......\.....\........\.......\ExtractByLoopAllFiles.java&&.....\...\...\.......\.....\........\.......\ExtractSelectFilesWithInputStream.java&&.....\...\...\.......\.....\........\.......\ExtractSingleFile.java&&.....\...\...\.......\.....\........\misc\CheckZipFileSplitArchive.java&&.....\...\...\.......\.....\........\....\ListAllFilesInZipFile.java&&.....\...\...\.......\.....\........\....\ProgressInformation.java&&.....\...\...\.......\.....\........\....\RemoveFileFromZipFile.java&&.....\...\...\.......\.....\........\zip\AddFilesDeflateComp.java&&.....\...\...\.......\.....\........\...\AddFilesStoreComp.java&&.....\...\...\.......\.....\........\...\AddFilesToFolderInZip.java&&.....\...\...\.......\.....\........\...\AddFilesWithAESEncryption.java&&.....\...\...\.......\.....\........\...\AddFilesWithStandardZipEncryption.java&&.....\...\...\.......\.....\........\...\AddFolder.java&&.....\...\...\.......\.....\........\...\AddStreamToZip.java&&.....\...\...\.......\.....\........\...\CreateSplitZipFile.java&&.....\...\...\.......\.....\........\...\CreateSplitZipFileFromFolder.java&&.....\...\...\.......\.....\........\...\CreateZipWithOutputStreams.java&&.....\...\...\.......\.....\........\...\CreateZipWithOutputStreamsStandardEnc.java&&.....\zip4j_1.3.1.jar&&.....\bin\net\lingala\zip4j\examples\extract&&.....\...\...\.......\.....\........\misc&&.....\...\...\.......\.....\........\zip&&.....\src\net\lingala\zip4j\examples\extract&&.....\...\...\.......\.....\........\misc&&.....\...\...\.......\.....\........\zip&&.....\bin\net\lingala\zip4j\examples&&.....\src\net\lingala\zip4j\examples&&.....\bin\net\lingala\zip4j&&.....\src\net\lingala\zip4j&&.....\bin\net\lingala&&.....\src\net\lingala&&.....\bin\net&&.....\src\net&&.....\.settings&&.....\bin&&.....\src&&zip4j
&近期下载过的用户:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - multi font creation in glcd
&[] - secure erasure code based cloud storage system with secure data forwarding-
&[] - 一个用java写的文件压缩、解压的小例子。因项目需要,所以写了这个小例子 。供大家参考。怎么下载JAVA手机游戏?_百度知道
怎么下载JAVA手机游戏?
我的手机是夏新M515支持JAVA 我从来没在电脑上下过手机游戏,所以一点都不懂。我在网上找了一些憨肌封可莩玖凤雪脯磨下载手机游戏的网站,虽然能查到我这中型号的手机,但下游戏的时候却还是显示的诺基亚,摩托罗拉,爱立信的那些名牌手机的型号。另外下载来的都是一些压缩文件,解压之后是一些乱七八糟的东西,看属性,后缀也不是手机游戏的那些格式,高手教我怎么弄,最好拿一个下载手机游戏的网站来举列,说出细致的步骤。
我也用过手机上网下载,但打开网页,显示的不是不支持的类憨肌封可莩玖凤雪脯磨型就是显示名牌手机的型号,总下不了。我用了好几个手机网站都是这样。
提问者采纳
你下的压缩包就是JAR格式的了,憨肌封可莩玖凤雪脯磨不需要解压直接装到手机内存卡就可以了,还有你不需要管它是什么品牌的游戏,你的是分辨率是240*320的,还是触摸屏的吧,你可以下摩托罗拉E6的游戏,我之前用的是索爱K750,我朋友的是海尔什么牌的,分辨率都一样。所以他可以装我的游戏。试试吧。行的话记得赏分哦。。。
其他类似问题
为您推荐:
您可能关注的推广
java手机游戏的相关知识
其他7条回答
手机上网下载
上腾迅网,点游戏,然后选机型.jad下载安装
呵呵,手机上网下载要收费的哦。不如上电脑 百度个 网站下载你这个型号的游戏撒。然后复制到手机里
安装就可以了撒
你手机的JAVA版本过低,你尽量找些通用版的游戏,要不就直接下个UCWEB浏览器安在手机上,里面有专门的游戏网站推荐,也可以直接用UCWEB搜索你手机支持的游戏,一般现在的游戏都开始变为(SIS)的了,平台(S60)的较多,你还是考虑换个吧,别用国产的了
上网下的基本都是~
玩游戏还是用诺基亚的
随便找个游戏网站都能下载;;注意;;下载后看看是什么格式;;如果是ZIP或RAR时必须减压成JAR;然后放在手机里;;打开手机点激安装;;就OK了;;记住一定要是JAR格式;;
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁&&&&java实现解压zip文件代码实例直接运行
java实现解压zip文件代码实例直接运行
java实现解压zip文件代码实例直接运行即可,要注意要解压的文件一定是直接压缩成zip然后进行解压直接更改文件后缀名的压缩文件会报错。
若举报审核通过,可奖励20下载分
被举报人:
kuizhewudi
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行}

我要回帖

更多关于 教育需不需要惩罚 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信