题目是这样的:
要求,从一个已有文件里读取数据,再以10000字节为一个单位写入自动创建的一个新的文件中,最后的不满10000字节的零头写入最后一个文件里,也就相当于把一个大文件分成了多个小文件,每个小文件都是10000字节。
分完之后,又要把这些小文件重新写入到一个新的文件里,相当于合并回去。
我的思路是:
1. 先得到大文件的总字节数。
2. 然后用byte[]将容量设置为大文件的总字节数。
3. 读入大文件数据,然后用subString()方法,每10000字节截取一次,再创建一个小文件将数据写入进去。
4. 创建一个新的文件,再讲小文件内数据按顺序写入。
我的问题是:
我用byte[]来设置容量,这里都是字节数。但是,后面用subString()来截取时是用字符串下标来截取的。当大文件中没有汉字时这种方法可以用,但是有汉字时,一个汉字是两个字节,最后写入到小文件里的字节数就不准确了,不会是10000整。这该怎么解决?
其它地方都没问题,就是这个关键的地方怎么也想不明白,有朋友能解除我的疑惑吗?谢谢!
[此贴子已经被作者于2007-11-9 20:16:13编辑过]