import java.io.File ; import java.io.FileInputStream ; import java.io.InputStream ; import java.util.zip.ZipEntry ; import java.util.zip.ZipOutputStream ; import java.util.zip.ZipFile ; import java.io.FileOutputStream ; public class ZipFileDemo01{ public static void main(String args[]) throws Exception{ // 所有异常抛出 File file = new File("d:" + File.separator + "mldn.zip") ; // 找到压缩文件 ZipFile zipFile = new ZipFile(file) ; // 实例化ZipFile对象 System.out.println("压缩文件的名称:" + zipFile.getName()) ; // 得到压缩文件的名称 } };
import java.io.File ; import java.io.FileInputStream ; import java.io.InputStream ; import java.io.OutputStream ; import java.util.zip.ZipEntry ; import java.util.zip.ZipOutputStream ; import java.util.zip.ZipFile ; import java.io.FileOutputStream ; public class ZipFileDemo02{ public static void main(String args[]) throws Exception{ // 所有异常抛出 File file = new File("d:" + File.separator + "mldn.zip") ; // 找到压缩文件 File outputFile = new File("d:" + File.separator + "mldn_unzip.txt") ; // 定义解压缩的文件名称 ZipFile zipFile = new ZipFile(file) ; // 实例化ZipFile对象 ZipEntry entry = zipFile.getEntry("mldn.txt") ; // 得到一个压缩实体 OutputStream out = new FileOutputStream(outputFile) ; // 实例化输出流 InputStream input = zipFile.getInputStream(entry) ; // 得到一个压缩实体的输入流 int temp = 0 ; while((temp=input.read())!=-1){ out.write(temp) ; } input.close() ; // 关闭输入流 out.close() ; // 关闭输出流 } };
import java.io.File ; import java.io.FileInputStream ; import java.io.InputStream ; import java.util.zip.ZipEntry ; import java.util.zip.ZipInputStream ; import java.io.FileInputStream ; public class ZipInputStreamDemo01{ public static void main(String args[]) throws Exception{ // 所有异常抛出 File zipFile = new File("d:" + File.separator + "mldn.zip") ; // 定义压缩文件名称 ZipInputStream input = null ; // 定义压缩输入流 input = new ZipInputStream(new FileInputStream(zipFile)) ; // 实例化ZIpInputStream ZipEntry entry = input.getNextEntry() ; // 得到一个压缩实体 System.out.println("压缩实体名称:" + entry.getName()) ; input.close() ; } };
import java.io.File ; import java.io.OutputStream ; import java.io.InputStream ; import java.util.zip.ZipEntry ; import java.util.zip.ZipFile ; import java.util.zip.ZipInputStream ; import java.io.FileInputStream ; import java.io.FileOutputStream ; public class ZipInputStreamDemo02{ public static void main(String args[]) throws Exception{ // 所有异常抛出 File file = new File("d:" + File.separator + "mldndir.zip") ; // 定义压缩文件名称 File outFile = null ; // 输出文件的时候要有文件夹的操作 ZipFile zipFile = new ZipFile(file) ; // 实例化ZipFile对象 ZipInputStream zipInput = null ; // 定义压缩输入流 OutputStream out = null ; // 定义输出流,用于输出每一个实体内容 InputStream input = null ; // 定义输入流,读取每一个ZipEntry ZipEntry entry = null ; // 每一个压缩实体 zipInput = new ZipInputStream(new FileInputStream(file)) ; // 实例化ZIpInputStream while((entry = zipInput.getNextEntry())!=null){ // 得到一个压缩实体 System.out.println("解压缩" + entry.getName() + "文件。") ; outFile = new File("d:" + File.separator + entry.getName()) ; // 定义输出的文件路径 if(!outFile.getParentFile().exists()){ // 如果输出文件夹不存在 outFile.getParentFile().mkdir() ; // 创建文件夹 } if(!outFile.exists()){ // 判断输出文件是否存在 outFile.createNewFile() ; // 创建文件 } input = zipFile.getInputStream(entry) ; // 得到每一个实体的输入流 out = new FileOutputStream(outFile) ; // 实例化文件输出流 int temp = 0 ; while((temp=input.read())!=-1){ out.write(temp) ; } input.close() ; // 关闭输入流 out.close() ; // 关闭输出流 } input.close() ; } };
import java.io.File ; import java.io.FileInputStream ; import java.io.InputStream ; import java.util.zip.ZipEntry ; import java.util.zip.ZipOutputStream ; import java.io.FileOutputStream ; public class ZipOutputStreamDemo01{ public static void main(String args[]) throws Exception{ // 所有异常抛出 File file = new File("d:" + File.separator + "mldn.txt") ; // 定义要压缩的文件 File zipFile = new File("d:" + File.separator + "mldn.zip") ; // 定义压缩文件名称 InputStream input = new FileInputStream(file) ; // 定义文件的输入流 ZipOutputStream zipOut = null ; // 声明压缩流对象 zipOut = new ZipOutputStream(new FileOutputStream(zipFile)) ; zipOut.putNextEntry(new ZipEntry(file.getName())) ; // 设置ZipEntry对象 zipOut.setComment("www.mldnjava.cn") ; // 设置注释 int temp = 0 ; while((temp=input.read())!=-1){ // 读取内容 zipOut.write(temp) ; // 压缩输出 } input.close() ; // 关闭输入流 zipOut.close() ; // 关闭输出流 } };
import java.io.File ; import java.io.FileInputStream ; import java.io.InputStream ; import java.util.zip.ZipEntry ; import java.util.zip.ZipOutputStream ; import java.io.FileOutputStream ; public class ZipOutputStreamDemo02{ public static void main(String args[]) throws Exception{ // 所有异常抛出 File file = new File("d:" + File.separator + "mldn") ; // 定义要压缩的文件夹 File zipFile = new File("d:" + File.separator + "mldndir.zip") ; // 定义压缩文件名称 InputStream input = null ; // 定义文件输入流 ZipOutputStream zipOut = null ; // 声明压缩流对象 zipOut = new ZipOutputStream(new FileOutputStream(zipFile)) ; zipOut.setComment("www.mldnjava.cn") ; // 设置注释 int temp = 0 ; if(file.isDirectory()){ // 判断是否是文件夹 File lists[] = file.listFiles() ; // 列出全部文件 for(int i=0;i<lists.length;i++){ input = new FileInputStream(lists[i]) ; // 定义文件的输入流 zipOut.putNextEntry(new ZipEntry(file.getName() +File.separator+lists[i].getName())) ; // 设置ZipEntry对象 while((temp=input.read())!=-1){ // 读取内容 zipOut.write(temp) ; // 压缩输出 } input.close() ; // 关闭输入流 } } zipOut.close() ; // 关闭输出流 } };
import java.io.ByteArrayInputStream ; import java.io.PushbackInputStream ; public class PushInputStreamDemo{ public static void main(String args[]) throws Exception { // 所有异常抛出 String str = "www.mldnjava.cn" ; // 定义字符串 PushbackInputStream push = null ; // 定义回退流对象 ByteArrayInputStream bai = null ; // 定义内存输入流 bai = new ByteArrayInputStream(str.getBytes()) ; // 实例化内存输入流 push = new PushbackInputStream(bai) ; // 从内存中读取数据 System.out.print("读取之后的数据为:") ; int temp = 0 ; while((temp=push.read())!=-1){ // 读取内容 if(temp=='.'){ // 判断是否读取到了“.” push.unread(temp) ; // 放回到缓冲区之中 temp = push.read() ; // 再读一遍 System.out.print("(退回"+(char)temp+")") ; }else{ System.out.print((char)temp) ; // 输出内容 } } } };
import java.io.ByteArrayInputStream ; import java.io.PushbackInputStream ; public class PushInputStreamDemo{ public static void main(String args[]) throws Exception { // 所有异常抛出 String str = "www.mldnjava.cn" ; // 定义字符串 PushbackInputStream push = null ; // 定义回退流对象 ByteArrayInputStream bai = null ; // 定义内存输入流 bai = new ByteArrayInputStream(str.getBytes()) ; // 实例化内存输入流 push = new PushbackInputStream(bai) ; // 从内存中读取数据 System.out.print("读取之后的数据为:") ; int temp = 0 ; while((temp=push.read())!=-1){ // 读取内容 if(temp=='.'){ // 判断是否读取到了“.” push.unread(temp) ; // 放回到缓冲区之中 temp = push.read() ; // 再读一遍 System.out.print("(退回"+(char)temp+")") ; }else{ System.out.print((char)temp) ; // 输出内容 } } } };