Ci riprovo...
ho un file txt creato e modificato in java che ha il seguente contenuto
34 working
23 working
ecc..
allora devo farmi una funzione che apre questo file in lettura
una vota che trova un determinato id (es .34 ) deve cambiare lo stato da working a ready...
cio che ho fattto io è cio che riporto sotto ma non vi è sovrascrittura dell informazione ma una nuova linea di testo viene aggiunta alla fine del file modificando cosi
34 working
23 working
34 ready
vi lascio il codice....spero vivamente che qualcuno possa aiutarmi
public void prepare (int id)throws InterruptedException, IOException
{
String line;
boolean esito=false;
lock.lock();
try
{
while (!free)
{
sospesi++;
System.out.println("Processo "+ id +" mi sospendo");
processi.await();
sospesi--;
}
fr = new FileReader(f);
input = new BufferedReader(fr);
String check= new String (""+id);
line=input.readLine();
while ( !esito ) {
if (line.startsWith(check))
{
esito=true;
System.out.println(id+ "trovato");
(P.S CREDO SI QUI IL PROBLEMA CON QUESTA ISTRUZIONE MI SCRIVE ALLA FINE DEL FILE MENTRE IO VOGLIO SOVRASCRIVERE LA LINEA)-->output.println(id+" ready");
}
else line = input.readLine();
}
fr.close();
free=true;
if(sospesi>0)
processi.signal();
}finally{lock.unlock();}

Rispondi quotando