Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [JAVA] Leggere un file

  1. #1

    [Java] Leggere un file

    Saluto tutte le persone del forum augurandoli di passare delle
    buone vacanze.
    Lo so che ci sono molti tread simili pero ho postato lo stesso
    per capire dove sbaglio.
    Creo questa classe per leggere in un specifico file ma mi da un errore dicendo che int non lo posso passare a setText() in cosa
    posso parsarlo cioe che casting dovrei fare

    codice:
    //Creo la classe per Ascoltare menubar Apri
        public class ascoltaApri implements ActionListener{ 
        public void actionPerformed(ActionEvent e) { 
        try {
          FileReader fw = new FileReader("A.txt");
         int i = fw.read();  
         Inserisci.setText(i);
         fw.close();
    
        } catch(FileNotFoundException exc) {
          Inserisci.setText("File non trovato");
          return;
        }
        }
      }
    PS: Potrei utilizzare readLine() invece di read()
    Scusate sempre per la mia ignoranza grazie.

  2. #2
    semplicemente se ci pensi setText() lo dice il metodo stesso setta del testo mentre tu gli passi un intero...la cosa non torna devi fare in modo che il tuo intero sia castato in una stringa di testo, puoi farlo semplicemente così: (metodo rapido)

    codice:
    int i = fw.read();  
    Inserisci.setText(""+i); //così il tuo intero viene convertito in una stringa,infatti per usare il setText devi passare una stringa
    fw.close();
    In pratica devi fare un cast da int a string...

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  3. #3
    scusa ma Inserisci di che tipo è???

    scaricati la documentazione java e vedi che cosa è richiesto dal metodo...

    cmq se vuoi un buon libro comprati Java 2 di Horstmann della Apogeo se nn sbaglio... tratta un pò tutto di tutto e bene, costa sui 40 euro

  4. #4

    Java legger un file

    Ciao Matteo ormai non so piu come dirti grazie cmq
    ho trovato anche un'altra soluzione pero non ho capito a cosa
    serve dichiarare BufferedReader ora ti posto cosa ho combinato



    codice:
    public class ascoltaApri implements ActionListener{ 
        public void actionPerformed(ActionEvent e) { 
        try {
         String  s;
         FileReader fr = new FileReader("A.txt");
         BufferedReader br = new BufferedReader(fr);
          while(( s = br.readLine()) != null){
            Inserisci.setText(s);
          }
         fr.close();
        } catch(IOException exc) {
          Inserisci.setText("File non trovato");
          return;
        }
        }
      }
    lo guardata dal libro e poi addata ma perche utilizzare BufferedReader? potresti darmi qualche informazione

  5. #5

    Java legger un file

    Ok mi rispondo da solo con questo piccolo pezzo tratto da un sito
    Per leggere un numero intero, un numero in virgola mobile, una stringa o qualsiasi altro tipo di dato, è necessario eseguire una conversione di tipo. Il modo più comodo e di gran lunga più utilizzato dai programmatori Java, anche se non particolarmente efficiente, è quello di far uso del metodo readLine() messo a disposizione dalla classe BufferedReader. BufferedReader è una classe dedicata alla lettura di buffers (sequenze di caratteri), che il metodo readLine() restituisce sotto forma di stringhe.
    CiaoO

  6. #6

    Re: Java legger un file

    Originariamente inviato da Devil01
    Per leggere un numero intero, un numero in virgola mobile, una stringa o qualsiasi altro tipo di dato, è necessario eseguire una conversione di tipo. Il modo più comodo e di gran lunga più utilizzato dai programmatori Java, anche se non particolarmente efficiente, è quello di far uso del metodo readLine() messo a disposizione dalla classe BufferedReader. BufferedReader è una classe dedicata alla lettura di buffers (sequenze di caratteri), che il metodo readLine() restituisce sotto forma di stringhe.
    Esatto mentre prima ottenevi un intero ora ottieni direttamente il numero in formato testo...poi se vuoi fai sempre in tempo a convertirlo dopo in float, int o quello che vuoi...

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  7. #7

    Java leggere un file

    Ho un altro problema non mi rispetta gli a capo cioe
    nella JTextArea mi visualizza solo l'ultima linea
    e tutto il testo che c'e nelle linee di sopra non gli vedo
    ho provato a togliere il ciclo while e mi visualizza solo il testo sulla
    prima linea dovrei creare un array per poi passarglielo alla JTextArea come posso fare per visualizzare il tutto
    Ciao

  8. #8
    il setText() cancella il testo che c'era prima e riscrive sopra quello nuovo devi fare qualcosa del tipo:

    codice:
    while(( s = br.readLine()) != null){
       String testo = Inserisci.getText();
       Inserisci.setText(testo + s);
    }
    Perchè non devi cambiare quello che c'è scritto ma aggiungere...

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    bhè, dai è lavoro inutile, c'è il metodo append per le (J)TextArea che fa proprio quello: aggiunge testo in fondo.

    codice:
    Inserisci.append(s+"\n");
    Potresti aver bisogno comunque di un JScrollPane per rendere il tutto meglio visionabile
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  10. #10

    Java leggere un file

    Raga scusate ma non mi sono fatto capire, il mio problema e che
    se nel file ho salvato il testo in queto modo;

    Ciao (a capo)
    grazie (a capo)
    a tutti (a capo)
    per il (a capo)
    vostro tempo.

    mi restituisce "vostro tempo" cioe l'ultima linea e se tolgo il ciclo while mi restituisce "Ciao" cioe la prima linea invece voglio che mi visualizza il tutto.
    Spero di avervi fatto capire .
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.