Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Lettura file

    Salve a tutti, ho un problemino con un programma in java!
    Devo leggere riga per riga un file e inserire ogni riga in un array...
    La mia soluzione è stata questa:

    codice:
          doc=new File(path.getFile());
          int i;
          InputStream is=path.openStream();
          BufferedReader br=new BufferedReader(new InputStreamReader(is));
          //Legge il file e inserisce le righe nelle stringhe
          int num=0;
          do
          {
                i=br.read();
                if (i!='\n')
                vettore1[num]=vettore1[num] + (char)i;
                else {
                    try{
                    Thread.sleep(100);
                    }catch(InterruptedException e){}
                    num ++;
                    barra.setValue(num);
                }
          }
          while (i!=-1);
    Questo funziona per i files che creo io che vanno a capo con \n... Ma se lo provo su altri files che vanno a capo "forzatamente" il programma non funziona... Spero di essere stato chiaro...

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    Il linguaggio va obbligatoriamente indicato nel titolo.
    Il titolo deve dare quante più informazioni possibili sul problema trattato
    Bisogna assicurarsi di essere nel forum corretto (il codice che hai postato è Java e questo linguaggio ha un forum dedicato)
    Il codice va postato indentato e usando gli appositi tag CODE.

    Tutto questo è scritto nel Regolamento interno, in evidenza su tutti i forum.

    Faccio le correzioni del caso, sposto la discussione e aggiungo i tag mancanti.


    In futuro, fai attenzione.

    PS: cosa sarebbero i file che vanno a capo forzatamente??
    PPS: Per leggere una riga con BufferedReader si usa il metodo readLine(). Usando il metodo read() devi gestire a mano gli eventuali byte di carridge return e line feed.


    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

    Scusate l'ignoranza

    Scusate l'ignoranza.
    Cmq se lo provo in un file dove ogni riga termina con un \n va bene.
    Ma se lo provo in altri file non formattati non mi funziona (ovviamente), poiche' ogni riga non termina con \n.

  4. #4
    Che parametro devo passare al metodo readline()

  5. #5
    Ok con il metodo readline() tutto funziona....
    grazie!

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.