Java压缩zip文件
由于网络带宽有限,所以数据文件的压缩有利于数据在Internet上的快速传输,同时也节
省服务器的外存空间。
Java 1.1实现了I/O数据流与网络数据流的单一接口,因此数据的压缩、网络传输和解
压缩的实现比较容易,下面介绍利用ZipEntry、ZipInputStream和ZipOutputStream三个Java
类实现zip数据压缩方式的编程方法。
zip压缩文件结构:一个zip文件由多个entry组成,每个entry有一个唯一的名称,entry的
数据项存储压缩数据。
与zip文件有关的几个Java类
·类ZipEntry
public ZipEntry(String name);
name为指定的数据项名。
·类ZipOutputStream
ZipOutputStream实现了zip压缩文件的写输出流,支持压缩和非压缩entry。下面是它的
几个函数:
public ZipOutputStream(OutputStream out);
∥利用输出流out构造一个ZIP输出流。
public void setMethod(int method);
∥设置entry压缩方法,缺省值为DEFLATED。
public void putNextEntry(ZipEntry newe);
∥如果当前的entry存在且处于激活状态时,关闭它,在zip文件中写入新的entry-newe
并将数据流定位于entry数据项的起始位置,压缩方法为setMethod指定的方法。
·类ZipInputStream
ZipInputStream实现了zip压缩文件的读输入流,支持压缩和非压缩entry。下面是它的
几个函数:
public ZipInputStream(InputStream in);
∥利用输入流in构造一个ZIP输出流。
public ZipEntry getNextEntry();
∥返回ZIP文件中的下一个entry,并将输出流定位在此entry数据项的起始位置。
public void closeEntry();
∥关闭当前的zip entry,并将数据流定位于下一个entry的起始位置。
程序代码及其注释
下列的程序实现了数据文件zip方式的压缩和解压缩方法。randomData()函数随机生成
50个double数据,并放在doc字符串变量中;openFile()函数读取ZIP压缩文件;saveFile()函数
将随机生成的数据存到ZIP格式的压缩文件中。
import java.util.zip.*;
import java.awt.event.*;
import java.awt.*;
import java.lang.Math;
import java.io.*;
public class TestZip extends Frame implements ActionListener {
TextArea textarea; ∥显示数据文件的多行文本显示域
TextField infotip; ∥显示数据文件未压缩大小及压
相关文档:
public class RunExtraProgram {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Runtime.getRuntime().exec("D:\\Program Files\\TTPlayer\\TTPlayer.exe");
} catc ......
今天公司不是很忙,就回顾了一下以前的冒泡排序和插入排序
package chen;
import java.util.Date;
public class Sort {
/**
* 冒泡排序
* @param list
* @author chenpengye
*/
public void sort(int[] list){
long begain=new Date().getTime();
&n ......
package javatest_danny;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.PipedInputStream;
import java.io.PipedOutputStream;
public class pipeStreamTest {
public static void main(String[] args) {
try
{
&nbs ......
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
......
1.3. 反射机制的功能
JAVA反射机制主要提供了以下功能:
1.在运行时判断任意一个对象所属的类
2.在运行时构造任意一个类的对象
3.在运行时判断任意一个类所具有的成员变量和方法(通过反射甚至可以调用private方 ......