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

  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • AutoStream's Garage419

    AutoStream's

    15 EKİM 2007
  • Simon Hayter

    Simon Hayter

    20 HAZİRAN 2010