如何删除文件中的第一行?

lvkate 2006-05-15 05:42:44
有一文本文件,每行都有一段数据,要如何把文件的第一行删除?
...全文
320 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
theoffspring 2006-05-16
  • 打赏
  • 举报
回复
用stringbuffer有何不可,再大能大到哪去
做鸡真好吃 2006-05-16
  • 打赏
  • 举报
回复
M<N?
UnAgain 2006-05-16
  • 打赏
  • 举报
回复
To: rogina(晓宇)
1)而且上面的filename也不能是同一个
为什么不能是同一个?我读完之后把reader关掉了。

2)如果文件比较大也不能用StringBuffer类来读
StringBuffer可以容纳2G多一点的字符,大多数文本文件不会超过1M

3)先建立另一个文件从那文件读出所需数据再写入后重命名
这种方法是可行的,并且可以节省内存,但是对于一般的应用,没必要把代码搞得太复杂。
rogina 2006-05-15
  • 打赏
  • 举报
回复
写程序可不能马虎~
而且上面的filename也不能是同一个,如果文件比较大也不能用StringBuffer类来读。
目前我看也只有先建立另一个文件从那文件读出所需数据再写入后重命名。
UnAgain 2006-05-15
  • 打赏
  • 举报
回复
呵呵,你怎么这么实在
qq14923349 2006-05-15
  • 打赏
  • 举报
回复
上面的不对
删掉~~~~~是在数据完成之后再删的
UnAgain 2006-05-15
  • 打赏
  • 举报
回复
try {
BufferedReader reader =
new BufferedReader(
new FileReader(fileName));

// 忽略第一行
reader.readLine();

final int SIZE = 1024;
char[] chunk = new char[SIZE];

StringBuffer buf;
int len;

while((len = reader.read(chunk, 0, SIZE)) != -1) {
buf.append(chunk, 0, len);
}

reader.close();

BufferedWriter writer =
new BufferedWriter(
new FileWriter(fileName));
writer.write(buf.toString());
writer.close();

} catch (IOException ioe) {
e.printStackTrace();
}

62,614

社区成员

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

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