Atomic File Write Operationen (plattformübergreifend)

Wie baue ich eine atomare Dateischreiboperation auf? Die Datei soll von einem Java-Dienst geschrieben und von Python-Skripten gelesen werden.
Für die Aufzeichnung sind Lesevorgänge viel größer als Schreibvorgänge. Der Schreibvorgang erfolgt jedoch stapelweise und ist in der Regel lang. Die Dateigröße beträgt Megabyte.

Im Moment ist mein Ansatz:

Schreiben Sie den Dateiinhalt in eine temporäre Datei im selben VerzeichnisAlte Datei löschenBenennen Sie die temporäre Datei in den alten Dateinamen um.

Ist das der richtige Ansatz? Wie kann vermieden werden, dass die alte Datei gelöscht wird, der neue Dateiname jedoch noch umbenannt werden muss?

Führen Sie diese Programmiersprachen (Python und Java) Konstrukte anbieten, um diese Situation zu sperren und zu vermeiden?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage