当前位置: 代码迷 >> J2SE >> 写资料,不覆盖
  详细解决方案

写资料,不覆盖

热度:5165   发布时间:2013-02-25 00:00:00.0
写文件,不覆盖?
我想写内容到指定文件的第一行,即在文件的开始写入,而不是从文件的末尾写入。网上搜了一下,找到如下代码,可以指定位置写入,但是会把第一行的内容覆盖了,大家觉得这代码能改动使之不覆盖吗?或者有没有其他方法可以从文件开始中处写入内容?


try {
RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
randomFile.seek(0);
randomFile.writeBytes(content);
randomFile.close();
} catch (IOException e) {
    e.printStackTrace();
}
为啥不能先在第一行写个回车。。理清思路最重要 !
放数据库里 想怎么都行
引用:
其实我是想定log文件,把一些错误打到txt文件上。要不想把以前的错误log覆盖掉,追加到最后查看又不方便,所以就想写在最开始,现在看来如果不像3楼说的那样好像实现不了。。
你就写到后面嘛!要显示到前面,不可以用集合排序的功能排序啊!
引用:
其实我是想定log文件,把一些错误打到txt文件上。要不想把以前的错误log覆盖掉,追加到最后查看又不方便,所以就想写在最开始,现在看来如果不像3楼说的那样好像实现不了。。

目前打印日志都是放到文件末尾的,要是硬要做成3楼那样,估计有点得不偿失了。技术上的思路没想处理啊,
给一个逻辑上的解放方法吧,
首先,把原来的内容读出来,并且加上新增加的内容,然后写回到原来的文档。
适合小型文件。你用这个类,要先把文件读出来 然后拼接在你的内容的后面最后在一次写入,,
没办法,要自行处理。相当于全部重写。

你把这个操作过程理解成:你要在一个数组前面插入若干元素 差不多类似。如果是文本的话可以把这一行的文本替换成你要write的内容再加上原来的内容。
  相关解决方案