zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然JAVAIO操作学习笔记:压缩流与回退流

    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) ;    // 输出内容
                }
            }
        }
    };
  • 相关阅读:
    es6语法快速上手(转载)
    width百分比
    利用switch case 来运行咱们结婚吧
    利用if else来运行咱们结婚吧
    利用if else 来计算车费
    利用switch case判断是今天的第多少天
    利用if else判断是否及格
    利用if,else判断输入的是不是一个正整数
    再练一遍猜拳
    用if else 判断是不是7的倍数等
  • 原文地址:https://www.cnblogs.com/tszr/p/12161931.html
Copyright © 2011-2022 走看看