Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Aprire un file.txt

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    16

    Aprire un file.txt

    Salve a tutti, sto progettando il gioca Mastermind e sono riuscita a salvare in un file.txt tutta la cronologia, ora nella barra dei menu avrei il bottone Cronologia e mi interessa sapere come potrei fare a cliccare sul tasto cronologia e fare apparire il file.txt. E possibile??? Altrimenti come potrei copiare il contenuto del file.txt dentro una TextArea?
    Questo è la crazione del file
    codice:
    FileOutputStream file = new FileOutputStream("./src/file.txt",true);
    final PrintStream Output = new PrintStream(file); 
    GregorianCalendar gc = new GregorianCalendar();
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy - HH:mm:ss"); 
    Output.println(); 
    Output.println("Partita del giorno: "+sdf.format(gc.getTime()));
    e questo e l'evento del bottone dove lo vorrei inserire per aprirlo
    codice:
    cronologia.addMouseListener(new java.awt.event.MouseAdapter() {
                @Override
                public void mousePressed(java.awt.event.MouseEvent evt) {
                  
                }
            });
    grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Hai usato un FileOutputStream per scrivere nel file. Bene. Corretto.
    Ora, per leggere un file, si userà un FileInputStream.

    Chiaramente, per poterlo meglio maneggiare, lo si deve incapsulare dentro ad un oggetto che sia in grado di effettuarne un'astrazione maggiore e fornire metodi più idonei.

    Esistono le classi BufferedReader e Scanner che possono tornarti utile.

    Inoltre, fai una ricerca in questo forum: l'argomento è stato trattato infinite volte.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    per alcuni progetti passati ho avuto la tua stessa esigenza e ho risolto così:

    codice:
    public static String read(String fileName,String charSet) throws IOException,FileNotFoundException{
    		BufferedReader buffRead=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),charSet));
    
    		StringBuffer strBuff=new StringBuffer();
    		String str;
    
    		while((str=buffRead.readLine())!=null){//legge una riga x volta del file...se nn arriva alla fine ci dà un qlcs...se arriva alla fine ci dà un null!
    			strBuff.append(str+"\r\n");//alcuni editor vogliono cm carattere x andare a capo il carattere "\r\n"
    		}
    		buffRead.close();
    		return strBuff.toString();
    	}
    forse ti può essere utile,restituisce una stringa rappresentante il contenuto di un file di testo.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    16
    grazie mille stò provando il tuo metodo, nel mentre aspettavo la risposta ho provato a fare un JOptionPane e il codice è questo:
    codice:
    public void mousePressed(java.awt.event.MouseEvent evt)
    
                {
                        try {
                        BufferedReader in = new BufferedReader(new FileReader("./src/file.txt"));
                        int cont=0;
                        while(in.readLine()!=null)
                        {
                            cont++;
                        }
                        System.out.println(cont);
                        String temp = in.readLine()+"\n";
                        for(int i=0; i<cont; i++)
                        {
                            temp = temp + in.readLine()+"\n";
                        }
                        JOptionPane.showMessageDialog(null,temp, "CRONOLOGIA", JOptionPane.INFORMATION_MESSAGE);
                        } catch (FileNotFoundException ex) {
                        Logger.getLogger(TestFrame.class.getName()).log(Level.SEVERE, null, ex);
                        } catch (IOException ex) {
                        Logger.getLogger(TestFrame.class.getName()).log(Level.SEVERE, null, ex);
                        }
                        }
            });
    Il problema è che mi da null per ogni riga

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    16
    Risolto

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 © 2025 vBulletin Solutions, Inc. All rights reserved.