2011-02-04 12 views
16


İşaretçiyi hareket ettirmeden sonraki sonraki satırı okumaya çalışıyorum, bu mümkün mü?BufferedReader (Java) işaretçiyi hareket ettirmeden sonraki satırı okuyabilir mi?

BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS)); 

while ((readString = buf.readLine()) != null) { 
} 

i istediğiniz gibi iken satır satır okuyacak, ama mevcut hattın bir sonraki satırı yazmak gerekir.

Bu mümkün mü?

benim dosya HTTP isteği verileri içerir, ilk satır birbirine bağlamak edebilmek için ana bilgisayar adı, ben GET önce ana bilgisayar çekerek gerekmez ikinci satırında GET isteği,
olduğunu./+ GET url
Sunucu,

GET /logos/2011/family10-hp.jpg HTTP/1.1 
Host: www.google.com 
Accept-Encoding: gzip 

teşekkürler.

cevap

35

akışta bir nokta işaretlemek için mark() ve reset() kullanabilir ve sonra ona geri dönün. Örnek:

+0

Gerçekten yardımcı oldu. – kimo

14

Sadece döngüdeki geçerli ve sonraki satırları okuyun.

BufferedReader reader = null; 
try { 
    reader = new BufferedReader(new InputStreamReader(file, encoding)); 
    for (String next, line = reader.readLine(); line != null; line = next) { 
     next = reader.readLine(); 

     System.out.println("Current line: " + line); 
     System.out.println("Next line: " + next); 
    } 
} finally { 
    if (reader != null) try { reader.close(); } catch (IOException logOrIgnore) {} 
} 
İlgili konular