Salve, ho un problema con la ricreazione di un file. Credo che l'errore non sia nel codice in quanto se lo eseguo in questo modo il file mi viene ricreato nuovamente e correttamente. Il metodo modifica, richiama il metodo ricrea, che ricrea il file sostituendo una riga.
public class Test {
public static void main(String[] args) throws FileNotFoundException {
Kfile f=new Kfile("f:/","file");
f.modifica("rigadasostituire");
}
Siccome ho bisogno che il metodo main richiami dei metodi non statici ho fatto in questo modo:
public class Main {
public Kfile f;
public static void main (String[]args) throws IOException {
Main a=new Main();
a.Menu();
}
questa classe contiene altri metodi per lavorare sul file. in uno di questi metodi richiamo f.modifica(rigadasostituire) che a sua volta richiamera il metodo per ricreare il file.
A questo punto il file non mi viene ricreato poichè dice che è in uso. Ho notato che in realtà basta creare l'oggetto a dove viene chiesto quale file bisogna aprire, e questo diventa in uso.
Perchè questo non accade nel primo codice? Esiste una soluzione alternativa?
Inoltre avrei bisogno di confrontare una stringa. Questa deve essere interamente costituita dallo stesso carattere ripetuto N volte. L'espressione regolare dovrebbe essere
Stringa.matches("C{N}")
Ho notato che funziona solo se a N sostituisco un intero, è possibile utilizzare un espressione del genere dove però N sia una variabile e non un intero?
Scusate mi è partito il tasto invio è ho dovuto modificare![]()
Grazie