Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206

    [JAVA]Vettore e suoi dati in scope globale

    Ave populus
    ho un problema:
    devo valorizzare un vettore nella funzione a e averlo disponibile anche nelle funzioni b e c, dove andrò ad usarlo come parametro della funzione java.io.File().
    Tipo:
    codice:
    public class mia {
       final Vector dati = new Vector();
       
       public void a() {
          BufferedReader filebuf = new BufferedReader(new FileReader("dati.ini"));
          String nextStr = filebuf.readLine(); 
          while ((nextStr = filebuf.readLine()) != null) {
             dati.addElement(nextStr);
          }
          filebuf.close();
       }
    
       public void b() {
          System.out.println(dati.get(0) + "\n" + 
    dati.get(1) + "\n" + dati.get(2));
       }
       
       public void c() {
          File dir = new File(dati.get(0));
          ... // Azioni su File
       }
    }
    ho anche provato a mettere l'istruzione File al di fuori della funzione
    ma non và


  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    il signor Vector è di Object... prova a fare un cast a String.

    Comunque, sei cosciente del fatto che stai perdendo una riga del file?

    codice:
    public void a() {
          BufferedReader filebuf = new BufferedReader(new FileReader("dati.ini"));
          String nextStr = filebuf.readLine(); //<---qui stai già leggendo una riga e spostando il puntatore alla riga successiva
          while ((nextStr = filebuf.readLine()) != null) { //<--il primo giro del while comincia pertanto dalla seconda riga
             dati.addElement(nextStr);
          }
          filebuf.close();
       }
    Se era voluto, ottimo, altrimenti per ovviare:

    codice:
    public void a() {
          BufferedReader filebuf = new BufferedReader(new FileReader("dati.ini"));
          String nextStr = "";
          while ((nextStr = filebuf.readLine()) != null) {
             dati.addElement(nextStr);
          }
          filebuf.close();
       }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di Aki
    Registrato dal
    Dec 2002
    Messaggi
    2,206
    Originariamente inviato da Andrea1979
    il signor Vector è di Object... prova a fare un cast a String.

    Comunque, sei cosciente del fatto che stai perdendo una riga del file?

    codice:
    public void a() {
          BufferedReader filebuf = new BufferedReader(new FileReader("dati.ini"));
          String nextStr = filebuf.readLine(); //<---qui stai già leggendo una riga e spostando il puntatore alla riga successiva
          while ((nextStr = filebuf.readLine()) != null) { //<--il primo giro del while comincia pertanto dalla seconda riga
             dati.addElement(nextStr);
          }
          filebuf.close();
       }
    Se era voluto, ottimo, altrimenti per ovviare:

    codice:
    public void a() {
          BufferedReader filebuf = new BufferedReader(new FileReader("dati.ini"));
          String nextStr = "";
          while ((nextStr = filebuf.readLine()) != null) {
             dati.addElement(nextStr);
          }
          filebuf.close();
       }
    riguardo la perdita della riga grassie, ma era voluto,
    per la soluzione...

    SEI MITICO!!! funziona, stupidamente non mi ero accordo che il compilatore me lo diceva....

    GRAZIE 1000!!!

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.