View Single Post
Old 20-06-2007, 13:48   #7
morskott
Member
 
Iscritto dal: Jul 2005
Messaggi: 291
Quote:
Originariamente inviato da marcoaqui Guarda i messaggi
Ho provato ma non riesco a far trovare il file. L'ho messo nella stessa dir del file .jsp, nella cartella webapps di Tomcat.
Sarà sicuramente una banalità ma mi sfugge qualcosa...
prova a fare una "System.out.println((new File(".")).getAbsolutePath())" per vedere la directory di lavoro corrente e poi da lì vedi a che punto nel fs (file system, non ferrovie dello stato ) sei. (Con una System.out.println devi avere una console attiva, c'è un'opzione di tomcat che ridireziona lo standard output su file se non hai la console)

Comunque se avvedi molto frequentemente a tutte le propietà del file (oppure è raro che ne accedi ad una sola soltanto) per risparmiare tempo (l'overhead dato dalla comunicazione con l'hd diviene eccessivo) aggiungi questo metodo alla classe di prima
Codice:
public Map<String,String> getAllProperties(){
Map<String,String> ris=new HashMap<String,String>();
FileInputStream fis=new FileInputStream(this.theFile);
BufferedReader br=new BufferedReader(fis);
String input=br.readLine();
while (input!=null){
StringTokenizer st=new StringTokenizer(input,":");
ris.put(st.nextToken(),st.nextToken());
input=br.readLine();
}
br.close();
fis.close();
return ris;
}
(che sembra un controsenso ma ha lo stesso costo computazionale del metodo getProperty() (tutti e due O(n)), al netto dell'overhead delle operazioni I/O)
E prendi le singole propietà con
Codice:
FileDiLog log=new FileDiLog("myFile.txt");
Map<String,String> props=log.getAllProperties();
String device=props.get("DEVICE");
String mac=props.get("MAC-Address");
String errore=props.get("Errore");
//e così via
con il vantaggio che con il metoro getProperty() se gli passi una stringa che non è contenuta nel file ti lancia una NullPointerException, con questa soluzione il Map ti restituisce solo null alla get().

Ultima modifica di morskott : 20-06-2007 alle 14:02.
morskott è offline   Rispondi citando il messaggio o parte di esso