Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-01-2004, 12:27   #1
RaNd0m
Member
 
Iscritto dal: Sep 2003
Città: Garlasco (PV)
Messaggi: 71
[java] bufferedreader

Premessa: ho iniziato da poco

nn c'è qualke modo x sapere il num d righe del file input?
es.
BufferedReader br = new BufferedReader(new FileReader("input"));

se nn c'è è possible fare questo x saperlo?

(while br.readLine!=null) {righe++}

dopo questo posso ancora utilizzare br x leggere il contenuto di "input" o devo creare un br2?
RaNd0m è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2004, 14:01   #2
beog
Senior Member
 
Iscritto dal: Apr 2001
Messaggi: 850
Non sono sicuro, perchè so solo qualcosina di java, dovrebbe essere il carattere di escape '/n' a determ il cambio riga, cmq secondo me anche col tuo modo (while readline != null... )dovrebbe funzionare.
Ciao
beog è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2004, 15:56   #3
RaNd0m
Member
 
Iscritto dal: Sep 2003
Città: Garlasco (PV)
Messaggi: 71
Grazie.....ma io volevo sapere se c'è un metodo (ke nn debba scrivere io) x sapere il num di righe di un file (del genere br.getNumrighe())

....se nn esiste: una volta fatto il "(while br.readLine!=null) {righe++}" (o qualcosa d simile) devo creare un'altro oggetto "BufferedReader br2 = new BufferedReader(new FileReader("input"));" x leggere il file "input" o c'è qualke modo x usare ancora br?
RaNd0m è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2004, 17:37   #4
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Non esiste un metodo, anche perchè come hai intuito è davvero semplice crearselo, va bene il tuo codice!


Ultima modifica di cn73 : 22-01-2004 alle 13:57.
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2004, 18:30   #5
RaNd0m
Member
 
Iscritto dal: Sep 2003
Città: Garlasco (PV)
Messaggi: 71
è quello ke pensavo ankio ...ma se x es:

int righe = 0;
BufferedReader br = new BufferedReader(new FileReader("input"));
(while br.readLine!=null) {righe++}
String[] riga=new String[righe];
for(int c=0; c<righe-1; c++) {riga[c]=br.readLine();} \\questo nn funziona xkè br punta alla prima riga null, giuto?

è x questo ke kiedevo se dovevo creare br2
RaNd0m è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2004, 18:45   #6
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Perchè dovrebbe essere nulla la prima riga?

Comunque se non hai vincoli particolari sulle strutture dati da utilizzare io lo risolverei diversamente...tu probabilmente vuoi sapere a priori il num di righe per dimensionare l'array... invece puoi usare un vector e fare un ciclo finchè ci sono righe...

Codice:
String line = ""
Vector righe=new Vector();
while (line != null){
  line = br.readLine();
  righe.addElement(line)
}
fra l'altro alla fine la righe.size() ti restituisce in num di righe...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 21-01-2004, 21:50   #7
RaNd0m
Member
 
Iscritto dal: Sep 2003
Città: Garlasco (PV)
Messaggi: 71
xkè dopo il ciclo while (ke finisce quando br.readLine()=null) br.readLine() leggerà dalla 1° riga null in avanti

cmq nn sapevo questa storia d Vector.....molto meglio

nn è ke hai un link dove posso documentarmi?

THX
RaNd0m è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 10:04   #8
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Scusa, parliamo di questo:

Codice:
for(int c=0; c<righe-1; c++) {riga[c]=br.readLine();}
tu fai tanti readLine() quante sono le righe del file, come fa a andare oltre la fine??

Cmq di documentazione ce n'è quanta ne vuoi:
http://java.sun.com/docs/books/tutorial/index.html



PS: i Vector sono una delle classi fondamentali di Java, le trovi in qualunque documento che parli di Java...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 10:58   #9
Angus
Senior Member
 
L'Avatar di Angus
 
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
Re: [java] bufferedreader

Quote:
Originariamente inviato da RaNd0m
nn c'è qualke modo x sapere il num d righe del file input?
che io sappia non c'è un metodo diretto per farlo... bisogna leggere tutto il file e contare i caratteri di fineriga, ad esempio come tu proponi:
Quote:
es.
BufferedReader br = new BufferedReader(new FileReader("input"));
(while br.readLine!=null) {righe++}
oppure utilizzando java.io.LineNumberReader o java.io.LineNumberInputStream che estendono BufferedReader proprio con un contatore interno per le righe...

Quote:
dopo questo posso ancora utilizzare br x leggere il contenuto di "input" o devo creare un br2?
Reader non permette di ricominciare da capo quindi devi utilizzarne uno nuovo (ricordandoti di chiudere con .close() quello vecchio se non ti serve più).
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer
°SetiEmperor°| Ninja Technologies
{ qualunque cosa sia, è veloce e fa male (cit.) }
Angus è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 12:45   #10
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Quote:
Originariamente inviato da cn73
Scusa, parliamo di questo:

Codice:
for(int c=0; c<righe-1; c++) {riga[c]=br.readLine();}
tu fai tanti readLine() quante sono le righe del file, come fa a andare oltre la fine??

Cmq di documentazione ce n'è quanta ne vuoi:
http://java.sun.com/docs/books/tutorial/index.html



PS: i Vector sono una delle classi fondamentali di Java, le trovi in qualunque documento che parli di Java...
Ha ragione random... se prima fai un
while(br.readLine()!=null){...}
dopo tutte le successive chiamate restituiscono null...

Soluzione migliore è quella di usare un Vector...

Se però è necessario rileggere per forza da capo le soluzioni sono due:
1. creare un nuovo buffered reader
2. marcare il file all'inizio ( -> br.mark(...); ) e successivamente fare il reset();
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 13:07   #11
Angus
Senior Member
 
L'Avatar di Angus
 
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
Quote:
Originariamente inviato da soalle

2. marcare il file all'inizio ( -> br.mark(...); ) e successivamente fare il reset();
Mi permetto di aggiungere a questa ipotesi che, come specificato nella documentazione di .mark(int readAheadLimit), bisogna considerare che readAheadLimit è il limite superiore del buffer interno a BufferedReader oltrepassato il quale non è possibile effettuare un reset(): quindi nel caso specifico si sarebbe costretti ad utilizzare un buffer interno grande almeno quanto tutto il file.
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer
°SetiEmperor°| Ninja Technologies
{ qualunque cosa sia, è veloce e fa male (cit.) }
Angus è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 13:59   #12
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Quote:
Originariamente inviato da soalle
Ha ragione random... se prima fai un
while(br.readLine()!=null){...}
dopo tutte le successive chiamate restituiscono null...

Soluzione migliore è quella di usare un Vector...

Se però è necessario rileggere per forza da capo le soluzioni sono due:
1. creare un nuovo buffered reader
2. marcare il file all'inizio ( -> br.mark(...); ) e successivamente fare il reset();
Non avevo capito che intendeva dopo il ciclo...nel ciclo non potrà mai avere un null...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 22-01-2004, 15:07   #13
RaNd0m
Member
 
Iscritto dal: Sep 2003
Città: Garlasco (PV)
Messaggi: 71
Grazie x i consigli

proverò ad usare Vector, mi sembra + figo
RaNd0m è offline   Rispondi citando il messaggio o parte di esso
Old 23-01-2004, 09:55   #14
riaw
Senior Member
 
L'Avatar di riaw
 
Iscritto dal: Sep 2000
Città: lodi-crema-milano.
Messaggi: 12339
ot per random: a me interessava il tuo server, quello di questa discussione:
http://forum.hwupgrade.it/showthread...hreadid=605780

come mai è stata chiusa?
__________________
La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. Noi abbiamo messo insieme la teoria e la pratica: non c'è niente che funzioni... e nessuno sa il perché!
riaw è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Amazon scatenata: robot aspirapolvere, s...
007 First Light, requisiti sbagliati: IO...
Il secondo leasing sociale francese ragg...
Anche Chrome diventerà un browser...
Huawei FreeClip 2 in arrivo in Italia: c...
Honda promette la roulotte del futuro, m...
Rincari non solo per gli utenti: Intel e...
Gemini può usare i tuoi dati priv...
OPPO lancia in Italia la serie Reno15: n...
Stazione Spaziale Internazionale: rientr...
Forza Horizon 6: spunta la possibile dat...
Oral-B iO: sconti pazzeschi su spazzolin...
Intel Core Ultra 200 Plus: l'azienda pro...
Thinking Machines: la startup di Mira Mu...
Coalizione di gruppi di tutela chiede a ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:29.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v