Java 压缩zip异常,java.util.zip.ZipException:duplicate entry: 问题
在测试过程中看到后台打印的日志出现异常,发现这也是历史遗留问题 java.util.zip.ZipException: duplicate entry: 111111.txt at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:215) 出现这种错误的原因是:打包的过程中,出现相同的文件名称 关键代码 public static void doCompress(File file, ZipOutputStream out) throws IOException { if( file.exists() ){ byte[] buffer = new byte[1024]; FileInputStream fis = new FileInputStream(file); out.putNextEntry(new ZipEntry(file.getName())); int len = 0 ; // 读取文件的内 ...
关于Java的File.separator
File file=new File(); 这句是新建一个文件。file.separator这个代表系统目录中的间隔符,说白了就是斜线,不过有时候需要双线,有时候是单线,你用这个静态变量就解决兼容问题了。 在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:File file1 = new File (“C:\tmp\test.txt”);在linux下则是这样的:File file2 = new File (“/tmp/test.txt”); 如果要考虑跨平台,则最好是这么写:File myFile = new File(“C:” + File.separator + “tmp” + File.separator, “test.txt”); File类有几个类似separator的静态字段,都是与系统相关的,在编程时应尽量使用。 separatorChar public static f ...
癌症发生的时候,有什么状态预警吗?
周五啦,又是划水的一天 本来开开心心的刷知乎热搜,刷到这一条。 本来生活不易,要是来个这,那还不得急死,但是这也是可以防范的。 为了更多的了解这方面的知识,还特地开通的知乎盐选的盐选会员∠( ᐛ 」∠)_ 个人觉得有必要让各位小伙伴知道的也会在博客贴出 珍爱生命! [scode type=”red”]纯属推广知识,望各位小伙伴悉知。[/scode] 早期发现,早点治疗! 最后附上一张:十大癌症死亡率
iPhone11入手感受
[scode type=”blue”]iPhone11在某宝购入,下单时间9月19号,20号发售,我算是第一批最晚入手的了。[/scode] 入手的是iPhone11,宝强绿,256G机身存储。软妹币6799机子23才拿到货,一路奔波啊。(详见上篇文章)[post cid=”1329” /] 在收到机器第一时间,拆开之前查看了序列号,发现产地是深圳富士康,放心了。于是就放心的拆盒,激活 近一点看看背面照,我觉得蛮好看的 ::aru:cheer:: 有段时间发烫的iPhone11好几次登上微博知乎的热搜讨论话题 好多人在激活的时候机身发烫,当然,我也遇见了。也只是在激活的时候发烫一下。后面的具体使用起来并没有什么发烫了。一切功能都是正常的使用着。因为我上一个iPhone还是5s,中间换用安卓机了,现在直接跳到iPhone11。对我的直接感受肯定是质的提升。使用起来简直飞起了。 我也看了这届屏幕容易有划痕,昨晚我就去贴了个168的膜(心疼)上了20多的保护套。握在手里的感觉:好重,也厚;亮屏的黑边确实可以跑马了哈哈哈哈, ...
还是忍不住买了iPhone11绿色版
—————20190923更新—————-更新快递最新走势今天是周一,我本来写的收件地址是宿舍。因为周末会到,但是没有 ::aru:crying::于是今天一大早打客服电话要求转寄,转寄到公司地址,需要额外到付收取转寄费用10元我以为转寄流程挺方便的,只需要从A快递员转给B快递员,然后由B快递员寄送。但是我想得太简单了。。快递件需要重新回到集散中心在集散中心重新分配发货啊啊啊啊啊啊啊于是本来上午就可以拿到的,被我手贱转寄到下午才能拿到了。 ::aru:dead::下图是快递的运单追踪,是我见过最长的快递追踪单了 —————原文—————中意你很久了!不知道现在买11是不是一个很好的选择,放弃了未来的5G会不会让自己后悔,记得上一个iPhone还是5s来着,之后改用安卓机了。现在又开始用iPhone,直接跳到11了希望别翻车(゚Д゚)/ 经过媳妇的同意了,不过说的是64G怕说256G ::aru:crying:: ::aru:crying::
认识你7年后终于领证了
2019年9月9号 终于领证了,从大一认识到现在,已经7年了实属不易毕业之后异地期间分分合合,始终放不下最后我们熬过去了以后好好走下去 ::twemoji:congratulate:: ::twemoji:congratulate:: ::twemoji:congratulate::
性能调优-Mysql索引数据结构详解与索引优化
最近报名了图灵学院的架构专题的付费课程,没有赶上6月份开课,中途加入的。错过了多线程的直播课程,只能看录播了😭。从性能调优正式开始,视频学习,对自己很有帮助。对自己的学习进行投资是最有用的投资。加油! 本篇文章主要学习了MySQL的索引的数据结构和不同类型索引的认识,做一个大概的了解学习总结。 一、索引在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储数据结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速查找到所需的内容。 在MySQL中,存储引擎用类似的方法使用索引,先在索引中找到对应值,然后根据匹配的索引记录找到对应的行。 首先说明下MySQL的索引主要是基于Hash表或者B+树。 二、索引数据结构了解索引就需要从索引常见的数据结构开始了解学习,这里有集中常见的的索引数据结构。 二叉树(Binary Trees)二叉树是每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常被称之为“左子树”和“右子树” 左子树<父节点<= ...
nginx的安装、配置和卸载
本篇文章主要学习了Nginx的安装/配置/卸载,做一个大概的了解即可。 Nginx简介Nginx(发音同engine x)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由伊戈尔·赛索耶夫创建并于2004年首次公开发布。2011年成立同名公司以提供支持。2019年3月11日,Nginx公司被F5 Networks以6.7亿美元收购。 Nginx是免费的开源软件,根据类BSD许可证的条款发布。一大部分Web服务器使用Nginx,通常作为负载均衡器。 1.nginx 卸载:注意点:首先需要停止nginx的服务 sudo service nginx stop (1.)删除nginx,–purge包括配置文件 sudo apt-get --purge remove nginx (2.)自动移除全部不使用的软件包 sudo apt-get autoremove (3.)列出与nginx相关的软件 并删除显示的软件 dpkg --get-selections|grep nginxsudo apt-get --purge remove nginxsudo apt-g ...
逛一逛大唐不夜城
不知道有多少个周末没有出去了,之前一直宅着不想出去走,今天实在想出去走走。于是傍晚去了逛了逛大唐不夜城… 逛之前先写写对西安的一些感想: 来西安出差快两年了。这时间过得真的快 17年年底来的时候,赶上了西安严重的雾霾天气,可见度差不多不到百米,很恐怖。除了上班和吃饭,基本不想出门。 同年赶上抖音app对西安的极度推广,将西安这座城市推向了大众眼中,一度被称为抖音之城,很多网络打卡在西安各个地方爆红,举个栗子:永兴坊的摔碗酒、老茶坊的毛笔酥、冰峰和小兵马俑、石头人笑场等等。。。 以及当地人关心的房价以肉眼可见的速度迅猛飙升,这个速度领先全国。 给人的感觉有点过快,快得不是我认知中的那个西安古城。 可以感受到西安在努力想要成为一座优秀的城市,并为之不断努力着,值得肯定!但似乎有点操之过急了点。 民风的话,几度被推向了热搜,争论了很久。我也看了一些评论,个人觉得五五开,有好的也有不好的地方,我就不往这方面说下去了! 相信西安会是一个很不错的城市。毕竟是13朝的古都! 回到今天的主角:大唐不夜城。每到夜晚,惊艳至极有人说:【从喜欢到爱上只需三秒,其实,三秒只是量化的虚数,天上街市,梦回大唐, ...
Java基础知识回顾(一)
1. 面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高。 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。 面向对象 :面向对象易维护、易复用、易扩展。 因为面向对象有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能比面向过程低。 2. Java 语言有哪些特点? 简单易学; 面向对象(封装,继承,多态); 平台无关性( Java 虚拟机实现平台无关性); 可靠性; 安全性; 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持); 支持网络编程并且很方便( Java 语言诞生本身就是为简化网络编程设计的,因此 Java 语言不仅支持网络编程而且很方便); 编译与解释并存; 3. 关于 JVM JDK 和 JRE 最详细通俗的解答JVMJava虚拟机(JVM)是运行 Java ...
Spring Boot2(十五):Shiro记住我rememberMe、验证码Kaptcha
接着上次学习的《Spring Boot2(十二):手摸手教你搭建Shiro安全框架》,实现了Shiro的认证和授权。今天继续在这个基础上学习Shiro实现功能记住我rememberMe,以及登录时验证码Kaptcha。 Remember Me记住我:用户的登录状态会不会因为浏览器的关闭而失效,直到Cookie失效。关闭浏览器后,再次访问登录后的页面可以不用登录。因为用Cookie实现,故只在同一浏览器中有效。 Kaptcha验证码:是谷歌开源的验证码插件,实现登录的验证码验证拦截。 一、记住我rememberMe用户的登录状态会不会因为浏览器的关闭而失效,直到Cookie失效。关闭浏览器后,再次访问登录后的页面可以不用登录。因为用Cookie实现,故只在同一浏览器中有效。 修改ShiroConfig/** * 路径过滤规则 * @return */@Beanpublic ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) { ShiroFilterFactoryBean shiroFilte ...
Spring Boot2(十四):单文件上传/下载,文件批量上传
文件上传和下载在项目中经常用到,这里主要学习SpringBoot完成单个文件上传/下载,批量文件上传的场景应用。结合mysql数据库、jpa数据层操作、thymeleaf页面模板。 一、准备添加maven依赖<!--springboot核心--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId></dependency><!--springboot测试--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency>< ...
Spring Boot2(十三):整合定时任务发送邮件
主要玩一下SpringBoot的定时任务和发送邮件的功能。定时发送邮件,这在实际生成环境下主要用户系统性能监控时,当超过设定的阙值,就发送邮件通知预警功能。这里只通过简单的写个定时结合邮件通知进行学习。 一、准备添加maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency><!--mail邮件--><dependency> < ...
Spring Boot2(十二):手摸手教你搭建Shiro安全框架
SpringBoot+Shiro+Mybatis完成的。 之前看了一位小伙伴的Shiro教程,跟着做了,遇到蛮多坑的(´இ皿இ`) 修改整理了一下,成功跑起来了。可以通过postman进行测试 不多比比∠( ᐛ 」∠)_,直接上源码:https://github.com/niaobulashi/spring-boot-learning/tree/master/spring-boot-20-shiro 一、Shiro是啥Apache Shiro是一个功能强大、灵活的、开源的安全框架。可以干净利落地处理身份验证、授权、企业会话管理和加密。 二、Shiro可以干啥 验证用户身份 用户访问权限控制,比如:1、判断用户是否分配了一定的安全角色。2、判断用户是否被授予完成某个操作的权限 在非 Web 或 EJB 容器的环境下可以任意使用 Session API 可以响应认证、访问控制,或者 Session 生命周期中发生的事件 可将一个或以上用户安全数据源数据组合成一个复合的用户 “view”(视图) 支持单点登录(SSO)功能 支持提供“Remember Me”服务,获取用户关联信息而无需登录 ...