JavaSE——MD5、16位流
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
MD5:
介绍:文件生成一把MD5钥匙,就是给文件产生一个MD5的钥匙,MD5是一把密文,但是这个加密可加不可解,能加密过去,但是解不回来,加密长度为32位,加密的好处就是,只要是同样的文本,那它加密出来的MD5就是一样的,只要计算出相差字节的一个数字,那计算出来的MD5就不一样
以下周边信息只是寄存在你的磁盘上,并没有寄存在你的文件之中
文件周边信息:
1.时间
2.权限
3.显示隐藏
4.作者…
文件内容分为两个部分:
头就是对这个文件的描述,内容是这个文件的具体数据
1.头部分
2.内容
网盘的文件优化:
把每个文件制作出MD5 然后别人上传的时候比较一下库里有没有此文件,如果有就秒传,计算MD5出来你就可以节省你的空间了,就不用存储那么多重复的文件了
MD5一般都是直接哪别人的来用,很少自己写,如下图:
写个测试类,然后就可以生成MD5钥匙了
16位流(字符):
介绍:输出和输入的是char类型,如何识别是16位流,只要看后面是不是Reader和Writer就行了
Reader (读)
FileReader
BufferedReader
InputStreamReader
CharArrayReader
Writer (写)
FileWriter
BufferedWriter
OutputStreamWriter
CharArrayWriter
PrintWriter
如下图就是FileWriter 还可以追加,\r是八位换行,\n是十六位换行
加BufferedWriter也是可以的,就是建立一个缓冲区
可以加一个bufferedReader来读,readLine每次只读一行,没有的话就返回空
给你InputStream转16位
把八位流转换成十六位流,然后进行输出