3359 blog.csdn.net/SDS 15732622190/article/details/78416824
测试完这个博客的代码后,就可以运行了。
放了一点东西。
原代码可以完美复制中英数字,添加in1和新文件后,复制的内容是新文件,但复制的内容不完整。
理由:
1、复制文件内容的步骤是将文件内容复制到缓冲器(数组bytes ) ——,再从缓冲器复制到新文件。 因为只有一个缓冲区,所以只能将写入缓冲区的最后一个文件写入新文件。 所以我只复制了测试1.txt
(在这种情况下,测试. txt的内容为“测试”,测试1.txt的内容为“单独的文件”。)
2、写入缓冲区需要字节数组,但由于本例中字节数组的大小与测试. txt一致,如果测试1.txt的内容更长,则无法全部复制。
如果测试. txt长于测试1.txt,则缓冲区中的部分数据将被替换
例如:
测试. txt的内容是“长字符串”
测试1.txt的内容是“短”
输出内容为“短而长的字符串”
你会发现前两个字被遮住了。
如果在测试. txt上写了中文字符串,并用很短的数字遮住了一部分,就会出现乱码
用3个数字覆盖时(是汉字长度整数倍的数字),为了不乱码,可以正常覆盖
从控制台将内容输入文件:
由于outputstream只能从字节数组向文件输出数据,因此将内容转换为字节数组,然后通过outputstream输出
如果arr编码和系统匹配,则可以在文件中输入任何字母数字字符。
所有nextline都输入字符串,因此输入数字时不需要单独考虑转换为字符数组
IO Stream作用于车刀
Reader和Write作用于文字,只能读取文本
InputStream是Reader的子类,通常不直接使用Reader类
Writer与输出流相同