Нет. Вы не можете безопасно записывать в файл, который вы также читаете, так как любые изменения, которые вы вносите в файл, могут перезаписать содержимое, которое вы еще не прочитали. Чтобы сделать это безопасно, вам нужно прочитать файл в буфер, обновив все необходимые строки, а затем переписать файл.
Если вы заменяете побайтовое содержимое файла (т. Е. Если текст, который вы заменяете, имеет ту же длину, что и новая строка, которой вы его заменяете), то вы можете сойти с рук, но это гнездо шершней, поэтому я избавил бы себя от хлопот и просто прочитал полный файл, заменил содержимое в памяти (или через временный файл) и снова записал его.