BufferedReader jak pobrac rozmiar ?
Tk - 31-07-2006 00:40
BufferedReader jak pobrac rozmiar ?
Witam,
Mam kod :
BufferedReader we = new BufferedReader(new FileReader(FileToBeRead));
String linia;
while ((linia=we.readLine())!=null)
{
.......
}
Czyli czytam sobie plik linia po lini, mam takze jProgressBar ktory informuje mnie o postepach problem w tym ze nie wiem jak pobrac info o rozmiarze strumienia aby ustawic odpowiednia wartosc max w jProgressBar. Mozna oczywoscie na poczatku poscic petle while policzyc i pozniej ustawic i ponownie poscic ale to kiepskie rozwiazie, tak wiec moze ma ktosc lepszy pomysl ?
k2c2 - 31-07-2006 00:40
Tk wrote: > Witam (cut) > Mozna oczywoscie na poczatku poscic petle while policzyc i pozniej > ustawic i ponownie poscic ale to kiepskie rozwiazie, tak wiec moze ma > ktosc lepszy pomysl ? >
Hej, widze ze czytasz z pliku , mozesz zatem korzystajac z klasy File przeczytac rozmiar pliku
File f = new File("path.to.file"); long len = f.length();
Pozdrawiam
yale - 31-07-2006 00:40
> BufferedReader we = new BufferedReader(new FileReader(FileToBeRead)); > > String linia; > > while ((linia=we.readLine())!=null) > > { > > ...... > > }
[...] File file = new File(FileToBeRead); int length = file.length(); BufferedReader we = new BufferedReader(new FileReader(file)); [...]
yale - 31-07-2006 00:40
> [...] > File file = new File(FileToBeRead); > int length = file.length(); > BufferedReader we = new BufferedReader(new FileReader(file)); > [...] >
pod warunkiem, że FileToBeRead to String, jeżeli to File oczywiście pierwsza linijka jest zbędna.
Tk - 31-07-2006 00:40
Użytkownik "Tk" <tomaszkulej@o2.pl> napisał w wiadomości news:e9t3ts$g4f$1@inews.gazeta.pl... > Witam, > > Mam kod : > > BufferedReader we = new BufferedReader(new FileReader(FileToBeRead)); > > String linia; > > while ((linia=we.readLine())!=null) > > { > > ...... > > } > > > > Czyli czytam sobie plik linia po lini, mam takze jProgressBar ktory > informuje mnie o postepach problem w tym ze nie wiem jak pobrac info o > rozmiarze strumienia aby ustawic odpowiednia wartosc max w jProgressBar. > Mozna oczywoscie na poczatku poscic petle while policzyc i pozniej ustawic > i ponownie poscic ale to kiepskie rozwiazie, tak wiec moze ma ktosc lepszy > pomysl ? >
Ok dzieki to czesciowo rozwiazuje moj problem a jak pobrac ilosc lin tektsu w pliku ?
Marek Puchalski - 31-07-2006 00:40
Tk wrote: > Ok dzieki to czesciowo rozwiazuje moj problem a jak pobrac ilosc lin > tektsu w pliku ?
while ( strumienWejsciowy.readLine() != null ) liczbaLinii++;
Pozdrawiam
Marek
-- # You can't run away. Everyone's connected. # Marek Puchalski # Proud linux user: 409592
Tk - 31-07-2006 00:41
Użytkownik "Marek Puchalski" <marpuch+news@gmail.com> napisał w wiadomości news:e9t9un$hkb$1@node5.news.atman.pl... > Tk wrote: >> Ok dzieki to czesciowo rozwiazuje moj problem a jak pobrac ilosc lin >> tektsu w pliku ? > > while ( strumienWejsciowy.readLine() != null ) > liczbaLinii++; > > Pozdrawiam > > Marek > > -- > # You can't run away. Everyone's connected. > # Marek Puchalski > # Proud linux user: 409592
No tak zgadza sie ale musze taki strumien dwa razy obsluzyc raz aby zliczyc ilosc linii i drugi raz do czytania danych i aby odpowiednio ustawic progressbar (wartosc max = ilosc linii) i go aktualizowac.
Czytanie dwa razy tego samego strumienia nie jest za bardzo wydajne.
Brzezi - 31-07-2006 00:41
sob, 22 lip 2006 o 23:45 GMT, Tk napisał(a):
> Czytanie dwa razy tego samego strumienia nie jest za bardzo wydajne.
To jak inaczej chcesz sprawdzic ile w pliku jest nowych linii, czyli znakow "\n\r" bez jego odczytania?
Albo tego potrzebujesz i to robisz, ale raczej z ProgressBarem to nie ma najmniejszego sensu..., albo rezygnujesz z tego...
Pozdrawiam Brzezi -- [ E-mail: brzezi@enter.net.pl ][ A large number of installed systems work ] [ Ekg: #3781111 ][ by fiat. That is, they work ] [ LinuxUser: #249916 ][ by being declared to work. ] [ -- Anatol Holt ]
Rafal Strozek - 31-07-2006 00:41
Tk wrote:
> No tak zgadza sie ale musze taki strumien dwa razy obsluzyc raz aby > zliczyc ilosc linii i drugi raz do czytania danych i aby odpowiednio > ustawic progressbar (wartosc max = ilosc linii) i go aktualizowac. > > Czytanie dwa razy tego samego strumienia nie jest za bardzo wydajne.
A może przeczytać rozmiar pliku z size, a następnie jako wartość progres bara dawać ilość przeczytanych bajtów z pliku (rozmiar wszytanego ciągu znaków - line.length() ) . To powinno chyba działać dość rozsądnie.
-- Pozdrawiam, Rafał Strożek rastro(at)op.pl
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
jak naniesc na obraz skale pokazujaca rzeczywisty rozmiar sfotografowanego obiektu
[Oracle] rozne rozmiary plikow eksporty dla wersji 9.2 i 10.1
Jakim programem mozna ustawic max rozmiar pliku?
Ile DPI przy nadrukach o rozmiarach 2m?
Maksymalne powiekszenie warstwy do rozmiaru okna dokumentu
[ORACLE 9i]Rozmiar obszaru SGA
Postgres - jak ustaić rozmiar bieżącej bazy?
[FireBird] Przekroczony rozmiar pliku *.gbk
MS SQL -> DTS -> plik ... rozmiar ?
[MySQL] Max rozmiar pliku w Blob
zanotowane.pldoc.pisz.plpdf.pisz.plabsolwenci.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|