研究了下,貌似只能在合并之前,对每个文件进行检查,如果文件尾没有回车符,自己添加,再写回文件.之后再进行合并.
用的是字符缓冲流.
char[] b = new char[1024];
int len = 0;
while ((len=bufr.read(b))!=-1)
{
bufw.write(b,0,len);
if(len!=1024&&b[len-1]!='\n') //是否为文件尾,并且最后一个字符是否为换行符. 不过这个判断不是特别准,当出现刚好1024字符是文件结尾处时就错了,暂时没找到什么好的判断方法,请大神指点.
{
SequenceInputStream sis = new SequenceInputStream(en);
FileOutputStream fos = new FileOutputStream("E:\\4.txt");
byte[] b = new byte[1024];
int len = 0;
while ((len=sis.read(b))!=-1)
{
fos.write(b,0,len);
}
// fos.write(13);
//fos.write(10);
sis.close();
fos.close();