|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2002
Messaggi: 2518
|
[JAVA] Scrittura su file
Salve a tutti,
ho un ciclo for in cui di volta in volta aggiungo una lista e quest'ultima vorrei scriverla in un file sovrascrivendo il contenuto precedente del file ovvero ci deve essere sempre solo una versione della lista nel file. Per farlo utilizzo i seguenti comandi: Codice:
FileOutputStream out = new FileOutputStream("testplista.txt");
PrintStream scrivi = new PrintStream(out);
if(outputFP.size() == 0)
System.out.println("LA LISTA E' VUOTA!!!");
scrivi.println(outputFP);
scrivi.close();
out.close();
Tra l'altro il ciclo mi va in loop ce qualche controindicazione nel fatto che in eclipse premo il tasto stop? non dovrebbero essercene visto che non sempre il file è vuoto. Il punto è che è un programma che dovrebbe rimanere in esecuzione per svariate ore e quindi non mi è possibile fare un debug passo passo per vedere ogni singolo valore (ecco che vorrei scrivere tutto in un file e poi testare la correttezza del file con una funzione). Il dubbio che mi voglio togliere è se con l'attuale input ci vogliono solo tante tante ore o se ce appunto qualcosa che non va. Tra l'altro quello che voglio fare come controllo su questo file è leggerlo, copiarlo in due liste differenti e poi confrontare queste due liste per essere sicuri che non ci siano due stringhe duplicate. Ho provato a fare questo metodo, secondo voi è corretto? Codice:
public void controllaDupplicati(String percorso_file1) throws IOException{
FileInputStream fstream1 = new FileInputStream(percorso_file1);
DataInputStream in1 = new DataInputStream(fstream1);
BufferedReader br1 = new BufferedReader(new InputStreamReader(in1));
String strLine;
LinkedList<String> l1 = new LinkedList<String>();
LinkedList<String> l2 = new LinkedList<String>();
while ((strLine = br1.readLine()) != null)
{
l1.add(strLine);
l2.add(strLine);
}
for(int i=0; i < l1.size(); i++)
{
//System.out.println(l1.get(i));
for(int j=0; j < l2.size(); j++)
{
if(i != j)
{
if(l1.get(i).compareTo(l2.get(j)) == 0)
{
System.out.println("Il seguente pattern è stato trovato piu volte: " + l1.get(i));
}
}
}
}
br1.close();
in1.close();
fstream1.close();
}
guylmaster. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
ad occhio mancano un paio di flush sugli stream in chiusura "se non erro"
__________________
My gaming placement |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:47.



















