作者whitebase (finn)
看板java
标题[问题] 写入档案,有办法写入某行後方接续写入?
时间Fri May 23 15:02:02 2014
各位大大好,
想请问一下关於写档,
是可以在不覆盖的情况下接续往下写入,
但有办法办到整个档案以写入完备毕後,
接续的往某一行的後方写吗?
范例如下:
123
456
789
原档案长这样,
有办法改成:
123
456ABC
789
这个样子吗?可接在某一行之後,而不是只接在最後一行之後
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.120.203.73
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1400828525.A.00F.html
1F:→ popcorny:不行 05/23 15:06
2F:推 PsMonkey:楼上「不行」应该是底层档案操作,work around 应该有 05/23 15:25
3F:推 popcorny:"不覆盖的情况"不行.. work around的方法就是"覆盖" XD 05/23 16:14
4F:推 kingofsdtw:自己写个API实作跳行?虽然多次操作不是真的只读一次... 05/23 16:32
5F:→ danny8376:实际上也只能从特定位置开始覆盖 然後後方接着重写而已 05/23 16:59
6F:→ AmosYang: 办法,有; 简易且通用的办法,没有。 05/23 17:49
7F:推 lovdkkkk:可试试 FileChannel, 看起来有提供相关 API 05/23 18:14
8F:→ danny8376:FileChannel也只能从指定位置复写 无法直接做到原PO要求 05/23 21:23
9F:→ lovdkkkk:原来只能定位而已 0rz 05/23 21:41
10F:→ danny8376:因为这种东西没啥好通解 所以JAVA自然不会帮你做啊 05/23 22:35
11F:→ whitebase:orz感谢各位 05/24 02:04
12F:→ whitebase:等待哪位大大救援 05/24 02:14
13F:推 gmoz:有办法 > 要自己写 05/24 09:16
14F:→ Killercat:er...我不是有提过用split+stringbuffer吗 = = 05/24 20:55
15F:推 luoqr:不过为什麽不能覆盖? 05/24 21:24
16F:推 asship:自己实作,写log功能? 05/24 22:31
17F:→ Killercat:其实正规的做法是用java的stream 05/25 04:45