Yazdıkları anda günlük dosyalarını okumalıyım. Sorun şu ki, bu günlük dosyaları bir zaman içinde yeniden adlandırılacak ve bu yeniden adlandırma işleminin mümkün olduğunu/java okuma sürecinin kilitlemediğini garanti etmeliyim. Kilitleme yapmadan (oturum aç) dosyayı diğer işlemler için yeniden adlandırma/taşıma
bu
6
A
cevap
0
Sen RAM kopyalamak ve Java çapraz platform iken kopyadan
+0
bu, "kilidin zamanını en aza indirgemek" yaklaşımını uygular - değil mi? Sergey'in bir an için görmezden gelmesi (“Ama bu şekilde sadece çoğaltılması zor bir hata yaparsınız.”) Bunu nasıl uygularız? Ters okuma ile "randomaccessfile" denedim. ama okuduğum kadarıyla dosyayı yeniden adlandıramam. Bir dosyayı veya hafızanın bir kısmını kopyalayıp hafızayı okumak için en hızlı yol nedir? – dermoritz
İlgili konular
- 1. Aynı düğümde yeniden oturum aç/yeniden başlat
- 2. Tek Oturum Oturum Aç Oturum Aç Laravel
- 3. Diğer uygulamalar için bir dosyayı manuel olarak kilitleme
- 4. FileStream.close() diğer işlemler için dosya içermiyor
- 5. Özel Listeyi aç Diğer listeyi aç ListView
- 6. Rapor Parametreleri Oturum Aç
- 7. HttpClient aracılığıyla oturum aç
- 8. Oturum Aç facebooktan bağlanın
- 9. Oturum aç collectiveidea/delayed_job
- 10. Devise Flash Bildirimleri Kaldırmak için Oturum Aç
- 11. Sosyal Oturum Açma Mantığı Oturum Aç
- 12. Android Google Oturum Aç: Kullanıcı
- 13. Django REST, sunucudan oturum aç
- 14. Git Oturum Aç Alias çalışmıyor
- 15. Serilog: Farklı dosyalara oturum aç
- 16. Yeniden yükleme yapmadan formu gönder
- 17. Visual Studio 2015 Topluluk Oturum aç
- 18. Laravel Sentinel Webview Uygulaması ile Oturum Aç
- 19. IndexedDB için kilitleme modeli mi?
- 20. Klasörü aç, dosyayı aç, kodu çalıştır, dosyayı kapat, bir sonraki klasöre git
- 21. Google Oturum Aç Oturum Açın Görünüm Denetleyici Appendegate IOS Swift
- 22. php - ŞifreHash check ve oturum aç
- 23. WCF Hizmet Yöntemi IIS'de Oturum Aç
- 24. Joomla 2.5 kullanıcı ile oturum aç
- 25. Kilitleme -
- 26. android instagram webview kullanmadan oturum aç
- 27. SublimeText 2 - Kaydet/Geri Yükle Oturum aç
- 28. Android Oturum Aç - En İyi uygulama
- 29. Doğrulama Facebook'ta oturum açmış ve etkinliğini aç
- 30. Log4Net: UTC zamanları ile oturum aç
okuyabilir nasıl, bu konunun gerçekten OS bağlıdır. Örneğin Linux, dosyayı varsayılan olarak kilitlemez. Okumaya açıkken hareket etmek, hatta silmek için özgürsünüz. Windows için herhangi bir çözüm bilmiyorum, bu yüzden, bu (iyi) soruya gerçekten cevap veremiyorum. –
Ama kullanım durumu: "büyürken ve bazen yeniden adlandırılırken günlük dosyalarını okuma" yaygın olmalı, değil mi? Kilidin zamanını en aza indirgeyim ne yapabilirim? Sadece son satırı okudum mu? – dermoritz
Rastgele erişim okumayı kullanarak uygulamak mümkün olsa da, "Küçültme" gerçekten iyi bir fikir değildir. Ancak bu şekilde sadece çoğaltılması zor bir hata yaparsınız. Okuma işlemi, yeniden adlandırma mantığını biliyorsa, yeniden adlandırılmak üzere dosya açılmasını engelleyebilir. Fakat söz konusu mantığa bağlı olarak çalışabilecek ya da çalışmayabilen bir tür yarı-çözümdür. Yapabileceğiniz en iyi şey, yeniden adlandırma başarısız olursa, yeniden adlandırma başarısız olursa yeniden adlandırma işlemini yeniden yapmaktır, bu yüzden önemli bir hata olmaz. Ama sadece üzerinde kontrolünüz varsa çalışır. –