[问题] 写入档案,有办法写入某行后方接续写入?

楼主: whitebase (finn)   2014-05-23 15:02:02
各位大大好,
想请问一下关于写档,
是可以在不覆蓋的情况下接续往下写入,
但有办法办到整个档案以写入完备毕后,
接续的往某一行的后方写吗?
范例如下:
123
456
789
原档案长这样,
有办法改成:
123
456ABC
789
这个样子吗?可接在某一行之后,而不是只接在最后一行之后
作者: popcorny (毕业了..@@")   2014-05-23 15:06:00
不行
作者: PsMonkey (痞子军团团长)   2014-05-23 15:25:00
楼上“不行”应该是底层档案操作,work around 应该有
作者: popcorny (毕业了..@@")   2014-05-23 16:14:00
"不覆蓋的情况"不行.. work around的方法就是"覆蓋" XD
作者: kingofsdtw (不能閒下來!!)   2014-05-23 16:32:00
自己写个API实作跳行?虽然多次操作不是真的只读一次...
作者: danny8376 (钓到一只猴子@_@)   2014-05-23 16:59:00
实际上也只能从特定位置开始覆蓋 然后后方接着重写而已
作者: AmosYang (泛用人型编码器)   2014-05-23 17:49:00
办法,有; 简易且通用的办法,没有。
作者: lovdkkkk (dk)   2014-05-23 18:14:00
可试试 FileChannel, 看起来有提供相关 API
作者: danny8376 (钓到一只猴子@_@)   2014-05-23 21:23:00
FileChannel也只能从指定位置复写 无法直接做到原PO要求
作者: lovdkkkk (dk)   2014-05-23 21:41:00
原来只能定位而已 0rz
作者: danny8376 (钓到一只猴子@_@)   2014-05-23 22:35:00
因为这种东西没啥好通解 所以JAVA自然不会帮你做啊
楼主: whitebase (finn)   2014-05-24 02:04:00
orz感谢各位
楼主: whitebase (finn)   2014-05-24 02:14:00
等待哪位大大救援
作者: gmoz ( This can't do that. )   2014-05-24 09:16:00
有办法 > 要自己写
作者: Killercat (杀人猫™)   2014-05-24 20:55:00
er...我不是有提过用split+stringbuffer吗 = =
作者: luoqr (.....)   2014-05-24 21:24:00
不过为什么不能覆蓋?
作者: asship (孤帆远影)   2014-05-24 22:31:00
自己实作,写log功能?
作者: Killercat (杀人猫™)   2014-05-25 04:45:00
其实正规的做法是用java的stream

Links booklink

Contact Us: admin [ a t ] ucptt.com