java学习:字节流的练习题

看完了字节流的知识点~

我们来做一些字节流的练习题~

1)用字节流来读取中文~

我们来尝试用字节流来读取中文



开始的字符还好~后面就出现乱码了~


这个和字符的编码有关,我这边使用的编码格式是utf-8,在utf-8中,有单个字节编码的字符,也有多个字节编码的字符,前面的汉字正常读取,因为在utf-8中汉字是用3个字节编码的,而“,”  不是用三个字节来编码的,就会从后面的字节中取出一部分补上,这样就导致后面的汉字形成乱码~


这个到后面我们学习字符流的时候就可以解决了~

2)用字节流来输出中文

因为字节流是直接操作的字节的,所以在写中文必须将字符串转换成字节数组~


看这样就完成了~


虽然成功的写出了中文,但是需要转换成字节数组才可以~ 

3)图片加密~

在这个图片加密的练习中,我们利用的是异或原理(位运算的一种如果两个数相同结果为0,不同为1)


例:101^110=011 → 011^110=101;


也就是说一个数,连续和另一个数字(这个数字就可以称之为密钥)异或两次就会变回自己本身~


代码演示:

一个copy图片的代码,中间加上一步异或,就实现了图片加密的功能了~


其实还有其他的加密方式哦~


经过这段代码,处理之后的图片就已经被加密了是打不开的~密钥是“123”,想要还原的话就只有把加密后的图片在用这个程序copy一次就可以了~

4)拷贝文件

从键盘输入文件的路径,然后通过代码把文件拷贝到项目的根目录~

先创建一个方法,接受从键盘输入的路径,并判断路径的合法性



然后在利用缓冲字节流把文件copy过来~就可以了~



5)从键盘录入数据写到文件中

详细的注释已经卸载代码上了,就不细说了~伙伴们有时间就来自己试试把~



题目就做到这里了

猜你喜欢

转载自blog.csdn.net/qq_563427813/article/details/80960068