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

  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • Professor Messer

    Professor Me

    27 NİSAN 2007
  • The Brister

    The Brister

    10 ŞUBAT 2008