Nasıl bir atomik dosya yazma işlemi oluştururum? Dosya bir Java servisi tarafından yazılacak ve python betikleri ile okunacaktır.
Kayıt için, okumalar yazımlardan çok daha büyüktür. Fakat bu yazma partiler halinde gerçekleşir ve uzun olma eğilimindedir. Dosya boyutu mega bayttır.Atomik dosya yazma işlemleri (çapraz platform)
Şu anda benim yaklaşımdır: aynı dizinde bir geçici dosyaya
- Yaz dosya içeriği
- eski dosya adına eski dosyayı
- yeniden adlandır geçici dosya silin.
Bu doğru yaklaşım mı? Eski dosyanın silindiği durumları nasıl önleyebiliriz, ancak yeni dosya adı henüz yeniden adlandırılmamış mı?
Bu programlama dilleri (python ve java) bu durumu kilitlemek ve önlemek için yapılar sunar mı?
Yan not: Java NIO.2'nin bunun için daha iyi bir desteği var (en azından API düzeyinde): http://openjdk.java.net/projects/nio/javadoc/java/nio/file/Path .html # moveTo% 28java.nio.file.Path,% 20java.nio.file.CopyOption ...% 29 –
http://stackoverflow.com/questions/1812115/how-to-safely-write-to benzer -a- –
@Pascal. Onun Java 7. 7. Uzun yol gitmek için ... :-( –