File Java

di il
1 risposte

File Java

Public class Esercizio {

File file = new File("lollo.txt");

public void creaFile() {

try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//metodo che scrive il file
public void scriviFile() throws IOException {
BufferedWriter bw = new BufferedWriter(new FileWriter(this.file.getAbsolutePath()));
String text;
System.out.println("inserire testo");
Scanner scan = new Scanner(System.in);
text = scan.nextLine();
bw.write(text);
bw.close();
}
}
_________________________________________________________________

import java.io.IOException;

public class Main {

public static void main(String[] args) {
Esercizio f = new Esercizio();
f.creaFile();

try {
f.scriviFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

Questo è il codice della creazione e scrittura di un file tramite i metodi creaFile() e scriviFile() la mia domanda era e se volessi fargli acquisire il testo in input da scrivere nel file e anche il nome.txt del file pero dal main e poi passarli alla classe Esercizio come posso fare?

1 Risposte

  • Re: File Java

    lorenzodev21 ha scritto:


    Salve a tutti inizio con il dire che un programmatore piu esperto mi consiglio questa cosa ovvero di creare metodi nella classe senza main mantenendo ordinato il codice in modo tale da chiamarli nella Classe Main dove è contenuto il metodo main perche mi disse che il main deve essere il piu pulito e snello possibbile(per quanto riguarda le righe di codice)
    Diciamo che in generale l'obiettivo sarebbe quello di seguire i principi della OOP, tra cui il principio di realizzare classi che siano focalizzate su (possibilmente) un solo ed unico obiettivo. Se fai es. una classe Persona (per rappresentare una persona), essa dovrebbe avere solo i campi e metodi per modellare e gestire logicamente la persona, NON dovrebbe mettersi a fare I/O su file, richieste di input dall'utente, stampe su console, ecc...

    lorenzodev21 ha scritto:


    Ora volevo provare a fare una cosa semplicissima ovvere nella classe Esercizio creare un metodo chiamato creafile() che crea un file e poi chiamarlo nella classe Main dove vi è il metodo main per esegurilo.

    ovviamente mi da errore.
    La questione è semplice: creafile() è un metodo "di istanza", significa che per poterlo usare bisogna invocarlo su una istanza di Esercizio. Nel main però non hai creato alcun oggetto Esercizio.
Devi accedere o registrarti per scrivere nel forum
1 risposte