其他
Java字节流的练习题
看完了字节流的知识点~
我们来做一些字节流的练习题~
我们来尝试用字节流来读取中文
开始的字符还好~后面就出现乱码了~
这个和字符的编码有关,我这边使用的编码格式是utf-8,在utf-8中,有单个字节编码的字符,也有多个字节编码的字符,前面的汉字正常读取,因为在utf-8中汉字是用3个字节编码的,而“,” 不是用三个字节来编码的,就会从后面的字节中取出一部分补上,这样就导致后面的汉字形成乱码~
这个到后面我们学习字符流的时候就可以解决了~
因为字节流是直接操作的字节的,所以在写中文必须将字符串转换成字节数组~
看这样就完成了~
虽然成功的写出了中文,但是需要转换成字节数组才可以~
在这个图片加密的练习中,我们利用的是异或原理(位运算的一种如果两个数相同结果为0,不同为1)
例:101^110=011 → 011^110=101;
也就是说一个数,连续和另一个数字(这个数字就可以称之为密钥)异或两次就会变回自己本身~
代码演示:
一个copy图片的代码,中间加上一步异或,就实现了图片加密的功能了~
其实还有其他的加密方式哦~
经过这段代码,处理之后的图片就已经被加密了是打不开的~密钥是“123”,想要还原的话就只有把加密后的图片在用这个程序copy一次就可以了~
从键盘输入文件的路径,然后通过代码把文件拷贝到项目的根目录~
先创建一个方法,接受从键盘输入的路径,并判断路径的合法性
然后在利用缓冲字节流把文件copy过来~就可以了~
详细的注释已经卸载代码上了,就不细说了~伙伴们有时间就来自己试试把~
题目就做到这里了
再见了