Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Aiuto file java

  1. #1

    Aiuto file java

    Salve ragazzi ho urgentemente bisogno del vostro aiuto
    devo leggere da un file che si chiama utente che è composto cosi

    nome;cognome;eta;pass;
    nome;cognome;eta;pass;
    nome;cognome;eta;pass;
    ..
    ...
    .
    .nome;cognome;eta;pass;

    ora in ingresso prendo il nome utente e password e devo confrontare il nome inserito dall'utente con
    quello nel file e poi la password inserita dall'utente con quella nel file....come faccio?
    HO fatto fino a qui:

    public Utente leggi(String utente,String Pass) throws IOException{
    Scanner in = new Scanner(new File(utente));
    Utente ut= new Utente();


    in.close();
    return ut;
    }

    vi prego aiutatemi grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Dovresti mostrare il codice completo però.

    Ad ogni modo devi leggere dal file una riga e splittarla ai punto e virgola, poi verificherai se nome e cognome corrispondono.
    Ma senza codice completo evito di fare esempi, in quanto non so come hai gestito il tutto sin qui... vedo una classe Utente, e deduco contenga "nome,cognome,eta,pass", ma non so ad esempio come è definita, che metodi ha etc; potrebbe ritornare un oggetto Utente senza aver bisogno di creare un oggetto in quel modo il tuo metodo leggi().


    PS. e come sempre questa sezione è dedicata alla Programmazione, Java ha una propria sotto-sezione.

  3. #3
    Quote Originariamente inviata da Patrick Jane Visualizza il messaggio
    Dovresti mostrare il codice completo però.

    Ad ogni modo devi leggere dal file una riga e splittarla ai punto e virgola, poi verificherai se nome e cognome corrispondono.
    Ma senza codice completo evito di fare esempi, in quanto non so come hai gestito il tutto sin qui... vedo una classe Utente, e deduco contenga "nome,cognome,eta,pass", ma non so ad esempio come è definita, che metodi ha etc; potrebbe ritornare un oggetto Utente senza aver bisogno di creare un oggetto in quel modo il tuo metodo leggi().


    PS. e come sempre questa sezione è dedicata alla Programmazione, Java ha una propria sotto-sezione.
    nn posso motrearti il codice completo perchè ti dovrei inviare 8 classi....cmq secondo te una classe utente che motodi puo avere????

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Ovviamente memorizza l'Utente, e dovrebbe avere come minimo i metodi getter/setter. Scherzi? 8 classi? Mah, la stai sparando grossa secondo me... :asd:

    Ad ogni modo ho usato il seguente file:

    codice:
    Nome1;Cognome1;1;1;
    Nome2;Cognome2;2;2;
    Nome3;Cognome3;3;3;
    Nome4;Cognome4;4;4;
    Nome5;Cognome5;5;5;
    Il metodo che ho scritto è:

    codice:
      Utente getUtente(String name, String pwd) throws IOException {
        Scanner parser = new Scanner(new File(file));
        parser.useDelimiter("\r\n");
        
        while(parser.hasNext()) {
          String s = parser.next();
          String[] splittedText = s.split(";");
          
          // [0] = Nome
          // [2] = Ped
          if(splittedText[0].equals(name) && splittedText[2].equals(pwd)) return new Utente(name, splittedText[1], pwd, Integer.parseInt(splittedText[3]));
        } 
        
        return null;
      }
    si può svolgere in diversi modi... usando Scanner, StringTokenizer oppure scorrendo la stringa.

    Se vuoi provarlo ecco il codice completo:

    codice:
    import java.util.Scanner;
    import java.io.*;
    
    class Utente {
      private String name, surname, pwd;
      private int age;
      
      Utente(String name, String surname, String pwd, int age) {
        this.name = name;
        this.surname = surname;
        this.pwd = pwd;
        this.age = age;
      }
      
      
      String getName() {
        return name;
      }
      
      String getSurname() {
        return surname;
      }
      
      int getAge() {
        return age;
      }
      
      String getPwd() {
        return pwd;
      }
      
      public String toString() {
        return name+"\n"+surname+"\n"+pwd+"\n"+age;
      }
      
    }
      
    
    class SplitString {
      private String file;
      
      SplitString(String file) {
        this.file = file;
      }
      
      Utente getUtente(String name, String pwd) throws IOException {
        Scanner parser = new Scanner(new File(file));
        parser.useDelimiter("\r\n");
        
        while(parser.hasNext()) {
          String s = parser.next();
          String[] splittedText = s.split(";");
          
          // [0] = Nome
          // [2] = Ped
          if(splittedText[0].equals(name) && splittedText[2].equals(pwd)) return new Utente(name, splittedText[1], pwd, Integer.parseInt(splittedText[3]));
        } 
        
        return null;
      }
    }
    
    class Example {
      public static void main(String[] args) throws IOException {
        SplitString ss = new SplitString("utente.txt");
        
        System.out.println((ss.getUtente("Nome4","4")).toString());
      }
    }

  5. #5
    Quote Originariamente inviata da Patrick Jane Visualizza il messaggio
    Ovviamente memorizza l'Utente, e dovrebbe avere come minimo i metodi getter/setter. Scherzi? 8 classi? Mah, la stai sparando grossa secondo me... :asd:

    Ad ogni modo ho usato il seguente file:

    codice:
    Nome1;Cognome1;1;1;
    Nome2;Cognome2;2;2;
    Nome3;Cognome3;3;3;
    Nome4;Cognome4;4;4;
    Nome5;Cognome5;5;5;
    Il metodo che ho scritto è:

    codice:
      Utente getUtente(String name, String pwd) throws IOException {
        Scanner parser = new Scanner(new File(file));
        parser.useDelimiter("\r\n");
        
        while(parser.hasNext()) {
          String s = parser.next();
          String[] splittedText = s.split(";");
          
          // [0] = Nome
          // [2] = Ped
          if(splittedText[0].equals(name) && splittedText[2].equals(pwd)) return new Utente(name, splittedText[1], pwd, Integer.parseInt(splittedText[3]));
        } 
        
        return null;
      }
    si può svolgere in diversi modi... usando Scanner, StringTokenizer oppure scorrendo la stringa.

    Se vuoi provarlo ecco il codice completo:

    codice:
    import java.util.Scanner;
    import java.io.*;
    
    class Utente {
      private String name, surname, pwd;
      private int age;
      
      Utente(String name, String surname, String pwd, int age) {
        this.name = name;
        this.surname = surname;
        this.pwd = pwd;
        this.age = age;
      }
      
      
      String getName() {
        return name;
      }
      
      String getSurname() {
        return surname;
      }
      
      int getAge() {
        return age;
      }
      
      String getPwd() {
        return pwd;
      }
      
      public String toString() {
        return name+"\n"+surname+"\n"+pwd+"\n"+age;
      }
      
    }
      
    
    class SplitString {
      private String file;
      
      SplitString(String file) {
        this.file = file;
      }
      
      Utente getUtente(String name, String pwd) throws IOException {
        Scanner parser = new Scanner(new File(file));
        parser.useDelimiter("\r\n");
        
        while(parser.hasNext()) {
          String s = parser.next();
          String[] splittedText = s.split(";");
          
          // [0] = Nome
          // [2] = Ped
          if(splittedText[0].equals(name) && splittedText[2].equals(pwd)) return new Utente(name, splittedText[1], pwd, Integer.parseInt(splittedText[3]));
        } 
        
        return null;
      }
    }
    
    class Example {
      public static void main(String[] args) throws IOException {
        SplitString ss = new SplitString("utente.txt");
        
        System.out.println((ss.getUtente("Nome4","4")).toString());
      }
    }
    innanzitutto ti ringrazio mille e poi ti giuro che sono 8 classi perchè sto facendo una gestione di email...^_^
    grazie ancora

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.