SORU
6 AĞUSTOS 2008, ÇARŞAMBA


Nasıl Java aktif olarak yazıldığı bir dosyadan okumak için kullanılır?

Bilgi dosyasına yazan bir uygulama var. Bu Bilgi sonrası yürütme başarılı/başarısızlık/uygulamanın doğruluğu belirlemek için kullanılır. Gerçek zamanlı olarak/doğruluk denetimi bu başarılı/başarısızlık ben yazıldığı gibi dosyayı okumak mümkün olmak istiyorum.

Bunun mümkün olduğunu düşünüyorum, ama ne frikiklerinden Java kullanırken bir ilişkiniz mi var? Eğer okuma yazma yakalarsa, sadece daha fazla dosya kapanana kadar yazar için bekler mi, ya da okuma bu noktada bir özel durum oluşturur? İkincisi ise, o zaman ne yapacağım?

Sezgilerim şu anda BufferedStreams doğru beni itiyor. Bu gitmek için bir yol var mı?

CEVAP
30 EYLÜL 2008, Salı


Örnek çalışmıyor olabilir FileChannel kullanarak.engelleme bir kitap değil, çünkü okumak(ByteBuffer). Yaptım ancak aşağıdaki kod işe başlayalım:

boolean running = true;
BufferedInputStream reader = new BufferedInputStream( 
    new FileInputStream( "out.txt" ) );

public void run() {
    while( running ) {
        if( reader.available() > 0 ) {
            System.out.print( (char)reader.read() );
        }
        else {
            try {
                sleep( 500 );
            }
            catch( InterruptedException ex )
            {
                running = false;
            }
        }
    }
}

Tabii ki aynı şey bir iş yerine bir zamanlayıcı olarak çalışır, ama programcı bıraktım. Hala daha iyi bir yol arıyorum, ama bu şimdilik benim için çalışıyor.

Oh, ve bu ihtar ederim: 1.4.2 kullanıyorum. Evet taş devrinden hala ben varım biliyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chuck Testa

    Chuck Testa

    14 AĞUSTOS 2011
  • NYCarspotter

    NYCarspotter

    26 EYLÜL 2011
  • Willie D.

    Willie D.

    16 Aralık 2006