S Sterntaler Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #21 我认为你的让它到某个位置停下来的想法有问题,而只能是把大块的数据读到缓冲区后,不处理某个位置以后的数据。 我只是直说,有不对的地方欢迎讨论。
G guofengdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #22 其实,我现在 有个 难题,你写的那个可以实现文件 的拷贝, 我这个 问题是:一个文件,我想把它最后的144字节给去掉。然后它前面 的生成一个新文件,(后面144字节是没用的),但缓冲区我也不想定义的太小(buf:1024,如果是144,问题也好解决,)按照你的方法,每次读1024,并不能很准确的控制剩余144字节的地方停下来。(如果,buf:144,也许可以) 你再帮我想想? 谢谢
其实,我现在 有个 难题,你写的那个可以实现文件 的拷贝, 我这个 问题是:一个文件,我想把它最后的144字节给去掉。然后它前面 的生成一个新文件,(后面144字节是没用的),但缓冲区我也不想定义的太小(buf:1024,如果是144,问题也好解决,)按照你的方法,每次读1024,并不能很准确的控制剩余144字节的地方停下来。(如果,buf:144,也许可以) 你再帮我想想? 谢谢
G guofengdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #23 就说我的问题,按你的思路,最后一次把数据读到缓冲区里长度不够144字节,也就是说 读数据需n次,第n-1次,缓冲区里已经包含最后144字节里的一部分数据,然后,第n次, 缓冲区里读的不够144字节,你怎么取舍? 我也是直说,愿和你讨论这个问题
就说我的问题,按你的思路,最后一次把数据读到缓冲区里长度不够144字节,也就是说 读数据需n次,第n-1次,缓冲区里已经包含最后144字节里的一部分数据,然后,第n次, 缓冲区里读的不够144字节,你怎么取舍? 我也是直说,愿和你讨论这个问题
S Sterntaler Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #24 :) 这个问题好解决啊!你看看这样是不是好了: len[FILE_BLKS-1] = (int)file.length() - posbegin [FILE_BLKS-1]; -> len[FILE_BLKS-1] = (int)file.length() - posbegin [FILE_BLKS-1] - 144;
:) 这个问题好解决啊!你看看这样是不是好了: len[FILE_BLKS-1] = (int)file.length() - posbegin [FILE_BLKS-1]; -> len[FILE_BLKS-1] = (int)file.length() - posbegin [FILE_BLKS-1] - 144;
S Sterntaler Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #25 -> 最后一次把数据读到缓冲区里长度不够144字节 不用担心,那就在"最后一次"的上一次结束了。也就是说不存在这样的忧虑。
G guofengdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #26 不好意思,还有点问题, 假如,文件的长度很小,最后一个线程的缓冲区一下把数据读出来(已经包括144里的数据), 然后,写到新文件里,然后,才判断 int readBytes = in.read(buf); while (sumReadBytes < bytesToRead){ sumReadBytes += readBytes; out.write(buf, 0, readBytes); readBytes = in.read(buf); 是不是,就有点问题了。。。
不好意思,还有点问题, 假如,文件的长度很小,最后一个线程的缓冲区一下把数据读出来(已经包括144里的数据), 然后,写到新文件里,然后,才判断 int readBytes = in.read(buf); while (sumReadBytes < bytesToRead){ sumReadBytes += readBytes; out.write(buf, 0, readBytes); readBytes = in.read(buf); 是不是,就有点问题了。。。
S Sterntaler Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #27 我做得不够细心,又一次多谢指出。 这样吧,把 out.write(buf, 0, readBytes) 改为 out.write(buf, 0, Math.min(readBytes, bytesToRead)); 这下行了吧?
我做得不够细心,又一次多谢指出。 这样吧,把 out.write(buf, 0, readBytes) 改为 out.write(buf, 0, Math.min(readBytes, bytesToRead)); 这下行了吧?
G guofengdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #28 好像是可以,我在试试 多谢这么长时间,一直帮我解决问题。 50分全给你 还有个小小请求,不知,可不可以? 就是,能和你交个朋友吗?以后共同讨论、研究Java方面的问题, 同时,都从中得到提高。 怎么样,你考虑一下,等着你的回复。。。。。。。
好像是可以,我在试试 多谢这么长时间,一直帮我解决问题。 50分全给你 还有个小小请求,不知,可不可以? 就是,能和你交个朋友吗?以后共同讨论、研究Java方面的问题, 同时,都从中得到提高。 怎么样,你考虑一下,等着你的回复。。。。。。。
S Sterntaler Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #29 好的,大家水平差不多,一起讨论讨论。:) 我的 mail: smnyx@21cn.com/smnyx@sina.com,给我发邮件时,用 DFW 上面的名字就可以。QQ我不能用。
G guofengdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #30 你常用哪个mail,我的mail是:guofengboss_2002@163.com
S Sterntaler Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #31 都总在收信,:) 我现在看看你的未答问题。希望能帮得上点忙,不帮倒忙就行,是吧。^_^
G guofengdelphi Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #32 你太客气了,我觉着你的水平很高。学习都来不及的 感觉着,没有你搞不定的问题,我以后得向你学两招, 不会,不教把?^_^
S Sterntaler Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-12 #33 不会的。直到说得没话说为止。 好了,不在这里灌水了。遵守规则。