如何删除文本文件中的一行

inritxihc 2011-04-29 12:38:34
删除文本文件中的一行,怎么做好呢?

while((line = reader.readLine()) != null){
countLine ++;
if(countLine == lineNo){
//System.out.println(line);
}else{
writer.write(line);
writer.newLine();
}
}

像这样用readLine去读写的话,文件大小会被改变
如果用read(byte[])又不方便找到对应的行。
哪位仁兄指点一下
...全文
205 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
magong 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 inritxihc 的回复:]

嗯嗯。好像只有中文格式会出现换行符的导致的文件大小问题。
如果文件大的话,相差还不小。

[/Quote]
换行应该和中文与否没关系啊。除非用了和源文件不同的字符集?
magong 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 inritxihc 的回复:]

谢谢蓝花+黄花兄的解答。祝你早日得到小红花
[/Quote]
红花很重要么
那我有几次都是板块第4名,岂不是悔青了
wula0010 2011-04-29
  • 打赏
  • 举报
回复
readLine读,写的时候要在每行的后面加上"\r\n"这样
inritxihc 2011-04-29
  • 打赏
  • 举报
回复
嗯嗯。好像只有中文格式会出现换行符的导致的文件大小问题。
如果文件大的话,相差还不小。
还是拿readLine写了。read执行匹配速度似乎有点慢。
谢谢蓝花+黄花兄的解答。祝你早日得到小红花
magong 2011-04-29
  • 打赏
  • 举报
回复
文件大小会变,无非就是换行符的问题,如果不妨碍使用,有什么关系呢?

如果自己read读字节的话,直接拿'\r','\n'或'\r\n'来匹配行尾,这三个都是换行符。也不复杂。
inritxihc 2011-04-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wula0010 的回复:]

readLine读,写的时候要在每行的后面加上"\r\n"这样
[/Quote]
这个\r\n,newLine()都试过了
inritxihc 2011-04-29
  • 打赏
  • 举报
回复
你看,和你一起玩的人都有小红花了,你却没有。
[Quote=引用 5 楼 magong 的回复:]

换行应该和中文与否没关系啊。除非用了和源文件不同的字符集?
[/Quote]

应该是这个原因吧。在家里试的时候,找的是几本好看的小说txt来试验,换了几种字符集结果都有错
今天公司试的时候,找的几个日志文件实验,utf8下又没问题。
这么说会不会觉得我很懒呢

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧