Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    7

    [JAVA] leggere oggetti da file txt

    Ciao a tutti, riporto in questa sezione il mio problema.Devo leggere un file .txt così organizzato:; Nome;; 0/1;;; caso a;;; caso b;;; caso c;;; caso d; Nome2;; 0/1;;; caso a;;; caso betc...In pratica vorrei creare un array di oggetti in cui ciascun oggetto ha tre campi:String NomeInt NumeroString [] Casi i " ; " li ho messi per rendere possibile l'identificazione del tipo di riga ( ovvero a quale campo (Nome,Numero o Casi) appartiene). prima avevo un file organizzato così nome:0nome2:1nome3:0e operavo nel seguente modo:


    codice:
    package idxfilestest;
    
    public class Utente {
    
        private String nome;
        private int scelta;
    
        public String getNome() {
            return nome;
        }
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    
        public int getScelta() {
            return scelta;
        }
    
        public void setScelta(int scelta) {
            this.scelta = scelta;
        }
    }

    e nel main:


    codice:
            List list = newArrayList();
            File file = new File("file.txt");
            BufferedReader reader = null;
            try {
                reader = new BufferedReader(new FileReader(file));
                String line;
                while ((line = reader.readLine()) != null) {
                    String[] myString = line.split(":");
                    Utente utente = new Utente();
                    utente.setNome(myString[0]);
                    utente.setScelta(Integer.parseInt(myString[1]));
                    list.add(utente);
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }

    ma ora, per problemi di spazio (dato che i "casi" possono essere molti) non posso scriverli sulla stessa riga ed effettuare un'ulteriore separazione con ad es. "::" ma ho bisogno di scriverli nel modo indicato all'inizio.Come devo modificare il codice? Grazie in anticipo
    Ultima modifica di LeleFT; 14-04-2014 a 13:20 Motivo: Corretto il posting del codice

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Il codice è illeggibile, innanzitutto postalo meglio. Anche il testo di esempio, postalo meglio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    7
    eh si, ci sono stati problemi nel caricamento. Adesso ci riprovo.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Quote Originariamente inviata da JavaInt Visualizza il messaggio
    eh si, ci sono stati problemi nel caricamento. Adesso ci riprovo.
    Questo tipo di problemi accadono quando si incolla il codice dopo averlo copiato direttamente dall'ambiente di sviluppo (che usa, evidentemente, codifiche differenti). Solitamente conviene incollare prima il codice in un editor di testo senza fronzoli (tipo di Blocco Note di Windows), quindi ri-copiarlo da lì ed incollarlo nel forum.


    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

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.