吴裕雄--天生自然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) ; // 输出内容
}
}
}
};
吴裕雄--天生自然JAVAIO操作学习笔记:压缩流与回退流的更多相关文章
- 吴裕雄--天生自然JAVAIO操作学习笔记:字节流与字符流操作
import java.io.* ; public class Copy{ public static void main(String args[]){ if(args.length!=2){ // ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:单人信息管理程序
import java.io.* ; public class ExecDemo03{ public static void main(String args[]) throws Exception{ ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:字符编码与对象序列化
public class CharSetDemo01{ public static void main(String args[]){ System.out.println("系统默认编码: ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:IO操作实例、Scanner、数据操作流与合并流
import java.io.* ; public class ExecDemo01{ public static void main(String args[]) throws Exception{ ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:RandomAccessFile
import java.io.File ; import java.io.RandomAccessFile ; public class RandomAccessFileDemo01{ // 所有的异 ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:File类
import java.io.File ; import java.io.IOException ; public class FileDemo01{ public static void main( ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:投票程序
public class ExecDemo{ public static void main(String args[]){ new Operate() ; } }; import java.io.B ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:System类对IO的支持和BuffereRead
import java.io.OutputStream ; import java.io.IOException ; public class SystemDemo01{ public static ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:内存操作流、管道流与打印流操作
import java.io.* ; class Send implements Runnable{ // 线程类 private PipedOutputStream pos = null ; // ...
随机推荐
- HD Tune检查硬盘各参数的含义
01 =Read Error Rate / (底层)数据读取错误率指从磁盘表面读取数据时发生的硬件读取错误的比率,Raw值对于不同的厂商有着不同的体系,单纯看做1个十进制数字是没有任何意义的.以上为W ...
- 洛谷P2142 高精度减法 题解
想找原题请点击这里:传送门 原题: 题目描述 高精度减法 输入格式 两个整数a,b(第二个可能比第一个大) 输出格式 结果(是负数要输出负号) 输入输出样例 输入 复制 输出 复制 说明/提示 %数据 ...
- nyoj 57
6174问题 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替 ...
- video兼容ie,ckplayer网页播放器
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- jsp遍历集合
1.先引入JSTL库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ...
- php 安装 swoole
1.安装swoole cd /usr/local/src wget https://github.com/swoole/swoole-src/archive/v1.9.1-stable.tar.gz ...
- 关于java自学的内容及感受
这周自学了关于java类的知识,进度有点慢,需要抓紧学习剩下的知识,放假后由于自制力差而各种玩没有认认真真的学习,下周要认真的学习之后的进度,争取开学玩全部完成! /** * 动物的类 * */pub ...
- 怎么修改Anaconda 中 jupyter notebook 文件的保存位置
安装完 anaconda ,在jupyter notebook 中创建的文件的默认保存位置为C:\User\电脑名 修改保存位置 1.打开 anaconda prompt 2.输入 jupyter n ...
- Linux:vi & vim(待学)
VI编辑器_终端编辑器 目标 vi简介 打开和新建文件 三种工作模式 常用命令查询 1 简介 1.1 学习vi的目的 在工作中, 要对 服务器上的 文件进行 简单 的修改, 可以使用 ssh 登录到远 ...
- webservice之实现天气预报
前通过传智的视频自学了webservice的基本使用,也了解到webservice就是一种跨编程语言和跨操作系统平台的远程调用技术. 对于这些理论知识在这里也不再做过多的解释,本次主要就是记录与分享使 ...