如何使用FileWriter将内容写入文件中的特定位置?

时间:2011-08-10 05:51:36

标签: java file-io

我正在使用Java FileWriter将内容写入现有文件,但内容将添加到文件末尾。我想在特定位置添加内容。任何人都可以帮我解决这个问题吗?

我目前正在做这样的事情:

FileWriter fileWriter = new FileWriter(fileW,true);
fileWriter.append(metaData.toString());
fileWriter.flush();
fileWriter.close();

2 个答案:

答案 0 :(得分:3)

您的目标是在文件中间插入数据吗?如果是这样,大多数文件系统基本上不支持这一点。你需要:

  • 创建新文件
  • 将旧文件的第一部分复制到新文件
  • 将新数据写入新文件
  • 将旧文件的其余部分复制到新文件
  • (可选)删除/重命名旧文件并重命名新文件,使其现在显示在与旧文件相同的位置

答案 1 :(得分:2)

要在由文件指针引导的特定位置写入,您必须使用RandomAccessFile类。但是搞乱文件指针有点毛茸茸,所以你有什么理由想用随机访问来写“文本”吗?

更多细节会有所帮助。