Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-07-2009, 11:05   #21
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ally Guarda i messaggi
...si è una soluzione...io sinceramente scorrerei ogni linea del file di testo e se rispetta le clausole di appartenenza ("administrator") la scriverei direttamente sul file di destinazione senza passare per una lista...anche se questo sistema puo' creare piu' problemi nella gestione di eccezioni...

...ciao Andrea...
Sì, sono d'accordo.
Io preferisco spezzare l'operazione e avere la copia dei dati sottomano tra le due operazioni; poi uno valuta che approccio usare anche a seconda della situazione.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:06   #22
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
Codice:
import java.io.*;
import java.lang.*;
import java.util.*;

class Log {
public static void main (String args[]) {

int i=0;														//indice dell'array di stringhe																
String s=null;			
List inputFile = new ArrayList();
						
try {
FileReader f = new FileReader("protezione2.txt");				//apro il file di input in lettura
BufferedReader fIN = new BufferedReader(f);

String line = fIN.readLine();

while(line != null) {
    inputFile.add(line);
    line = fIN.readLine();
}

Iterator iterator = inputFile.iterator();
while (iterator.hasNext()){
    String line = iterator.next();
    if (line.indexOf("administrator") != -1)
        iterator.remove();
}

}
catch(IOException e) {							
System.out.println("Si e' verificata un'eccezione "+e.getMessage());
}

}}

Ultima modifica di Xizor : 07-07-2009 alle 11:14.
Xizor è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:07   #23
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Sì, sono d'accordo.
Io preferisco spezzare l'operazione e avere la copia dei dati sottomano tra le due operazioni; poi uno valuta che approccio usare anche a seconda della situazione.
...assolutamente...spezzare la cosa in metodi diversi sarebbe cosa gradita...dipende appunto dalle situazioni e dalla complessità...

...ciao Andrea...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:20   #24
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
Codice:
import java.io.*;
import java.lang.*;
import java.util.*;

class Log {
public static void main (String args[]) {

int i=0;																												
String s=null;			
List inputFile = new ArrayList();
						
try {
FileReader f = new FileReader("protezione2.txt");				
BufferedReader fIN = new BufferedReader(f);

String line = fIN.readLine();

while(line != null) {
    inputFile.add(line);
    line = fIN.readLine();
}

Iterator iterator = inputFile.iterator();
while (iterator.hasNext()){
		line = (String) iterator.next();
    if (line.indexOf("administrator") != -1)
        iterator.remove();
}

}
catch(IOException e) {							
System.out.println("Si e' verificata un'eccezione "+e.getMessage());
}

}}
Ecco, va bene così?
Xizor è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:24   #25
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...se funziona si...

...ciao Andrea...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:35   #26
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
Si, non ci sono errori in compilazione.
Il problema è che non so da dove ricavare l'output, le linee dove sono salvate?
Xizor è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:38   #27
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
Quote:
Originariamente inviato da Xizor Guarda i messaggi
Si, non ci sono errori in compilazione.
Il problema è che non so da dove ricavare l'output, le linee dove sono salvate?
...le linee corrette dovrebbero essere all'interno dell'arrayList...sempre che la condizione usata per eliminare le stringhe errate non usi una logica sbagliata...e sempre che le linee eliminate siano state tolte dalla lista e non dall'iteratore usato per scorrerle...

...la cosa piu' semplice da fare è quella di scorrere l'array ottenuto e stampare a video ogni singola stringa contenuta...

...ciao Andrea...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:43   #28
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
Quote:
Originariamente inviato da ally Guarda i messaggi
...le linee corrette dovrebbero essere all'interno dell'arrayList...sempre che la condizione usata per eliminare le stringhe errate non usi una logica sbagliata...e sempre che le linee eliminate siano state tolte dalla lista e non dall'iteratore usato per scorrerle...

...la cosa piu' semplice da fare è quella di scorrere l'array ottenuto e stampare a video ogni singola stringa contenuta...

...ciao Andrea...
Codice:
String line = fIN.readLine();

while(line != null) {
    inputFile.add(line);
    line = fIN.readLine();
}

Iterator iterator = inputFile.iterator();
while (iterator.hasNext()){
		line = (String) iterator.next();
    if (line.indexOf("administrator") != -1)
        iterator.remove();
}
Facendo iterator.remove() mi sa che le cancello dall'iteratore ma non sono sicuro...Come posso scorrere ArrayList dato che non è un array dotato di indici?
Xizor è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:47   #29
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...basta un ciclo for...

Codice:
for(int i=0;i<inputFile.size();i++)
                System.out.println(inputFile.get(i));
...ciao Andrea...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:52   #30
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
In output escono tutte le righe
Xizor è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 11:54   #31
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
...le linee corrette dovrebbero essere all'interno dell'arrayList...sempre che la condizione usata per eliminare le stringhe errate non usi una logica sbagliata...e sempre che le linee eliminate siano state tolte dalla lista e non dall'iteratore usato per scorrerle...

...ciao Andrea...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 12:05   #32
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
QUOTE=ally;28128253]...le linee corrette dovrebbero essere all'interno dell'arrayList...sempre che la condizione usata per eliminare le stringhe errate non usi una logica sbagliata...e sempre che le linee eliminate siano state tolte dalla lista e non dall'iteratore usato per scorrerle...

...ciao Andrea...[/quote]

Codice:
import java.io.*;
import java.lang.*;
import java.util.*;

class Log {
public static void main (String args[]) {
																											
String s=null;			
List inputFile = new ArrayList();
						
try {
FileReader f = new FileReader("protezione.txt");				
BufferedReader fIN = new BufferedReader(f);

String line = fIN.readLine();

while(line != null) {
    inputFile.add(line);
    line = fIN.readLine();
}

Iterator iterator = inputFile.iterator();
while (iterator.hasNext()){
		line = (String) iterator.next();
    if (line.indexOf("administrator") != -1)
        iterator.remove();								//inputFile.remove(line)
}

for(int i=0;i<inputFile.size();i++)
System.out.println(inputFile.get(i));

}
catch(IOException e) {							
System.out.println("Si e' verificata un'eccezione "+e.getMessage());
}

}}

inputFile.remove(line) dovrebbe cancellarle dalla lista e non dall'iteratore giusto?
Xizor è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 12:18   #33
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Xizor Guarda i messaggi
inputFile.remove(line) dovrebbe cancellarle dalla lista e non dall'iteratore giusto?
Non ha nessun senso fare una distinzione concettuale tra "le righe dell'iteratore" e "le righe della lista" poichè l'iteratore è restituito dalla lista e opera sulla lista stessa.

Il metodo remove dell'iteratore rimuove dalla collezione sottostante (cioè quella che ha fornito l'iteratore stesso) l'ultimo elemento che è stato restituito dal metodo next dell'iteratore.

Se hai dubbi su qualche metodo consulta i javadoc

Il problema è un'altro: tu nel tuo codice fai tutto tranne che alla fine scrivere la lista filtrata sul file di output...
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 07-07-2009 alle 12:24.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 12:23   #34
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Se comunque alla fine ti stampa tutte le righe vuol dire che c'è un problema con il controllo della condizione per la rimozione.

questa dovrebbe essere giusta:
Codice:
Iterator iterator = inputFile.iterator();
while (iterator.hasNext())
{
    line = (String) iterator.next();
    if (line.indexOf("Administrator") == -1)
        iterator.remove();							
}
Rimuovo la riga solo SE NON trovo la stringa "Administrator".
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 12:54   #35
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
Codice:
import java.io.*;
import java.lang.*;
import java.util.*;

class Log {
public static void main (String args[]) {
																											
String s=null;			
List inputFile = new ArrayList();
						
try {
FileReader f = new FileReader("protezione.txt");				
BufferedReader fIN = new BufferedReader(f);

String line = fIN.readLine();

while(line != null) {
    inputFile.add(line);
    line = fIN.readLine();
}

Iterator iterator = inputFile.iterator();
while (iterator.hasNext())
{
    line = (String) iterator.next();
    if (line.indexOf("Administrator") == -1)
        iterator.remove();							
}

for(int i=0;i<inputFile.size();i++)
System.out.println(inputFile.get(i));

}
catch(IOException e) {							
System.out.println("Si e' verificata un'eccezione "+e.getMessage());
}

}}

In esecuzione dice :

Exception in thread "main" java.lang OutOfMemoryError: Java heap space

cos'è?
Xizor è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 13:11   #36
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Xizor Guarda i messaggi
In esecuzione dice :

Exception in thread "main" java.lang OutOfMemoryError: Java heap space

cos'è?
E' un messaggio di errore della JVM; significa che la memoria allocata dal SO alla JVM è terminata (!).

Non so come mai: ma il file protezione.txt quanto grande è?

Comunque ho provato il codice che hai costruito fino a qui e postato con un file di input così fatto:
Quote:
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,576,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,576,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.29,Security,Accesso/fine sess. ,538,MAGA02$,SERVER
Operazioni riuscite,06/07/2009,12.07.28,Security,Accesso/fine sess. ,540,FAR15$,SERVER
Operazioni riuscite,06/07/2009,12.07.28,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.28,Security,Accesso/fine sess. ,576,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.24,Security,Accesso/fine sess. ,540,MAGA02$,SERVER
Operazioni riuscite,06/07/2009,12.07.20,Security,Accesso/fine sess. ,538,cbibiani,SERVER
e ottengo (correttamente) questo output:
Quote:
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,576,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.30,Security,Accesso/fine sess. ,576,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.28,Security,Accesso/fine sess. ,540,Administrator,SERVER
Operazioni riuscite,06/07/2009,12.07.28,Security,Accesso/fine sess. ,576,Administrator,SERVER
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 13:22   #37
Xizor
Member
 
L'Avatar di Xizor
 
Iscritto dal: Dec 2006
Messaggi: 185
Grazie 1000

Allora quelle righe sono soltanto una piccolissima parte del file "protezione.txt" , le ho prese come esempio.
Compilando il codice per queste poche righe in effetti funziona correttamente come testato da te.

Quando ho provato ad eseguirlo sul file intero mi ha dato che messaggio di errore. Il file protezione intero è grande 32 MB

Se esiste un metodo per evitare quel problema bene, altrimenti bene lo stesso perchè l'algoritrmo funziona. Sapevo che Java aveva una quantità impressionante di classi e metodi, infatti questi non li conoscevo. Grazie infinite lo stesso
Xizor è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 13:30   #38
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da Xizor Guarda i messaggi
Se esiste un metodo per evitare quel problema bene, altrimenti bene lo stesso perchè l'algoritrmo funziona.
Certo che esiste: basta istruire la JVM passandole un parametro apposito che ne fissa esplicitamente la memoria massima che può richiedere al sistema operativo.
Io con ste cose non ci azzecco: non mi ricordo mai di default quant'è: a te basterebbe specificare l'ordine di grandezza successivo (es: se è 32M ne chiedi 64M, se è 64M ne chiedi 128M e così via).

Quote:
Originariamente inviato da Xizor Guarda i messaggi
Sapevo che Java aveva una quantità impressionante di classi e metodi, infatti questi non li conoscevo. Grazie infinite lo stesso
Beh, oserei dire che usare Java per programmare senza avvalersi del JDK ha poco senso...

Trovi tutto online (con la possibilità di scaricarti in locale la documentazione che ti interessa); due sono le risorse più utili, secondo me:
1) i javadoc del JDK
2) Quella cosa chiamata "The Really Big Index" (compendio di tutorial della Sun su quasi tutto quello che vorresti sapere del linguaggio Java e del JDK).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2009, 13:31   #39
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4421
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Non ha nessun senso fare una distinzione concettuale tra "le righe dell'iteratore" e "le righe della lista" poichè l'iteratore è restituito dalla lista e opera sulla lista stessa.

Il metodo remove dell'iteratore rimuove dalla collezione sottostante (cioè quella che ha fornito l'iteratore stesso) l'ultimo elemento che è stato restituito dal metodo next dell'iteratore.

Se hai dubbi su qualche metodo consulta i javadoc

Il problema è un'altro: tu nel tuo codice fai tutto tranne che alla fine scrivere la lista filtrata sul file di output...
...mio grosso errore...grazie per il chiarimento...

...ciao Andrea...
ally è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Iliad: si consolida la partnership tecno...
Il SoC a 2 nm di Samsung non sfigura nel...
Prezzo shock per i Galaxy Buds FE + nuov...
Il nuovo SoC di Qualcomm vuole stupire: ...
Offerta lampo per pulire l'auto: aspirap...
I robotaxi di Amazon entrano in azione: ...
ECOVACS DEEBOT T50 PRO OMNI Gen2 domina ...
iPhone 17 Pro su Amazon: tutti i colori,...
Disney Plus da 2,99 euro al mese per 3 m...
Nuovo test di accensione dei motori per ...
Novità dalle analisi dell'asteroi...
La PS6 sarà più potente del previsto: ec...
Sony svela Xperia 10 VII: è il nu...
Amazon Weekend da urlo: iPhone 16 a prez...
Spotify diffida ReVanced: chiesta la rim...
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: 13:58.


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