当前位置: 首页 > news >正文

io的学习4

打印流

分类:打印流一般是指:PrintStream、PrintWriter两个类

特点:

1.打印流只操作文件目的地,不操作数据源

2.特有的写出方法可以实现,数据原样写出

3.特有的写出方法,可以实现自动刷新,自动换行

解压缩流

解压本质:把每一个ZipEntry按照层级拷贝到本地另一个文件夹中。

package myzip;import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;public class Zipdemo01 {public static void main(String[] args) {File src=new File("D:\\aaa.zip") ;File dest=new File("D:\\");}public static void unzip(File src,File dest) throws IOException {ZipInputStream zip=new ZipInputStream(new FileInputStream(src));ZipEntry entry ;while((entry=zip.getNextEntry())!=null){System.out.println(entry);if(entry.isDirectory()){File file=new File(dest,entry.toString()) ;file.mkdirs();}else {FileOutputStream fos=new FileOutputStream(new File(dest,entry.toString()));
int b;
while((b=zip.read())!=-1){
fos.write(b);
}
fos.close();
zip.closeEntry();}}zip.close();}
}

 压缩流

/*一个文件夹压缩**/
package myzip;import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;public class zipdemo03 {public static void main(String[] args) throws IOException {File src=new File("D:\\aaa");File destParent=src.getParentFile();File dest=new File(destParent,src.getName()+".zip");ZipOutputStream zos=new ZipOutputStream(new FileOutputStream(dest));toZip(src,zos,src.getName());zos.close();}public static void toZip(File src,ZipOutputStream zos,String name) throws IOException {File[] files = src.listFiles();for (File file : files) {if(file.isFile()){ZipEntry entry=new ZipEntry(name+"\\"+file.getName()) ;zos.putNextEntry(entry);FileInputStream fis=new FileInputStream(file);int b;while((b=fis.read())!=-1){zos.write(b);}fis.close();zos.closeEntry();}else {
toZip(file,zos,name+"\\"+file.getName());}}}
}
package myzip;
/*一个文件压缩*/
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;public class zipdemo02 {public static void main(String[] args) throws IOException {File src=new File("D:\\a.txt");File dest=new File("D:\\");
toZip(src,dest);}public static void toZip(File src,File dest) throws IOException {ZipOutputStream zos=new ZipOutputStream(new FileOutputStream(new File(dest,"a.zip")));ZipEntry entry=new ZipEntry("z.txt");zos.putNextEntry(entry);FileInputStream fis=new FileInputStream(src);int b;while((b=fis.read())!=-1){zos.write(b);}zos.closeEntry();zos.close();}
}

 

Commons-io

是apache开源基金组织提供的一组有关io操作的开源工具包。

作用:提高io流的开发效率

使用步骤:

1.在项目中创建一个文件夹:lib

2.将jar包复制粘贴到lib文件夹

3.右击jar包,选择Add as Library->点击ok

4.在类中导包使用

Hutool

相关文章:

  • 力扣热门算法题 89. 格雷编码,92. 反转链表 II,93. 复原 IP 地址
  • 如何学习VBA_3.2.19:利用Shell函数运行可执行程序
  • 宜搭低代码高级认证实操题2 faas连接器加密解密
  • 【快速解决】解决谷歌自动更新的问题,禁止谷歌自动更新,如何防止chrome自动升级 chrome浏览器禁止自动升级设置方法
  • 网络安全-文件包含
  • 龙蜥 Anolis OS 7.9 一键安装 Oracle 11GR2(231017)单机版
  • 牛客NC218 检测循环依赖【中等 图 Java,Go,PHP】
  • oracle切换ADG后JVM组件查询报错ORA-29516处理
  • QT深入解析数控机床或激光切割机的nc文件包括读取与数据处理技巧
  • Redis分布式锁—SETNX+Lua脚本实现
  • 手机网页视频无水印采集工具|抖音视频关键词批量下载软件
  • 详解多模态 AI
  • 10.2024
  • javaWeb网上订餐管理系统
  • 开源流程图表库(01):Mermaid.js生成流程图、时序图、甘特图等
  • 【Linux系统编程】快速查找errno错误码信息
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • ERLANG 网工修炼笔记 ---- UDP
  • Github访问慢解决办法
  • Hibernate最全面试题
  • iOS小技巧之UIImagePickerController实现头像选择
  • isset在php5.6-和php7.0+的一些差异
  • Java 多线程编程之:notify 和 wait 用法
  • k个最大的数及变种小结
  • PhantomJS 安装
  • Sublime Text 2/3 绑定Eclipse快捷键
  • uva 10370 Above Average
  • Windows Containers 大冒险: 容器网络
  • Zepto.js源码学习之二
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 如何利用MongoDB打造TOP榜小程序
  • 软件开发学习的5大技巧,你知道吗?
  • 深入浏览器事件循环的本质
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • Nginx实现动静分离
  • Spring第一个helloWorld
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​ArcGIS Pro 如何批量删除字段
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (2015)JS ES6 必知的十个 特性
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (译)计算距离、方位和更多经纬度之间的点
  • .java 9 找不到符号_java找不到符号
  • .NET 4.0中的泛型协变和反变
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 解决重复提交问题
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件