音游java_[原]动态打jar包程序,可用于手机图片音乐游戏的动态打包

该博客介绍了一个Java程序,用于动态打包文件到jar包中,特别适用于手机图片音乐游戏的打包。程序创建了MANIFEST.MF文件,包含了作者和博客链接信息,并能处理多个文件的添加。示例代码展示了如何将两个文件(1.txt和“你好啊!”的内容)写入jar包。
摘要由CSDN通过智能技术生成

packagetest;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.util.jar.JarEntry;importjava.util.jar.JarOutputStream;importjava.util.jar.Manifest;/*** 将目标文件打包的测试程序

*@authorpony

* @bloghttp://pony.cnblogs.com* @date 2010-02-24

* 存在问题:entry文件名若使用unicode会出现乱码*/publicclassJarWriteTest {/*** 写文件到jar包中

* 例子中,读取一个文件,并将这个文件存储到jar包中的文件中

*        同时新建一个新的文件

*@paraminputFileName

*@paramoutputFileName

*@throwsException*/publicstaticvoidWritejar(String inputFileName, String outputFileName)throwsException {//Mainifest是jar包特有的说明文件,不能通过手动编写实现//它可以帮助你实现META-INF的目录保存了一个叫MANIFEST.MF的文件,记录版本,入口程序等信息Manifest manifest=newManifest();

manifest.getMainAttributes().putValue("Manifest-Version","1.0");

manifest.getMainAttributes().putValue("author","pony");

manifest.getMainAttributes().putValue("blog","http://pony.cnblogs.com");//JarOutputStream和JarInputStream是jar包生成时特有封装streamFile outfile=newFile(outputFileName);

JarOutputStream out=newJarOutputStream(newFileOutputStream(outfile),manifest) ;

File f=newFile(inputFileName);/************************将输入文件读取写入jar outputstream中**********************************///JarEntry 是jar包目录类JarEntry    entry=newJarEntry(newString("file1".getBytes(),"utf-8"));//将目录加入到out中out.putNextEntry(entry);

FileInputStream in=newFileInputStream(f);byte[] buffer=newbyte[1024];intn=in.read(buffer);while(n!=-1) {

out.write(buffer,0, n);

n=in.read(buffer);

}

in.close();

out.closeEntry();//关闭目录//再做一个文件JarEntry entry2=newJarEntry("文件2");

out.putNextEntry(entry2);

out.write("你好啊!".getBytes());

out.closeEntry();

out.flush();//注意关闭输出文件流out.close();

}publicstaticvoidmain(String[] args) {try{

Writejar("c:\\1.txt","c:\\打包.jar");

}catch(Exception e) {//TODO Auto-generated catch blocke.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值