Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [Java]Lettura da file

  1. #1

    Moderazione

    Benvenuto sul forum! Ti ricordo che:
    • le discussioni relative a Java non sono trattate qui, ma nell'apposita sottosezione;
    • il codice va specificato tra tag [CODE] ... [/CODE], altrimenti perde l'indentazione.


    Ora correggo io e provvedo a spostare il thread, in futuro imposta correttamente la discussione fin da subito; nel frattempo ti consiglio di dare un'occhiata al regolamento.
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da madfloyd Visualizza il messaggio
    codice:
                while(file.hasNextLine()){
                    
                    String a=file.nextLine();
                    String b=file.nextLine();
                    String c=file.nextLine();
                    String d=file.nextLine();
                    
                    file.nextLine();
                }
    Non va bene fare un test con hasNextLine() per 5 nextLine() di seguito. Perché ovviamente se manca una riga dopo la prima nel while, ti becchi NoSuchElementException.

    Le soluzioni sono diverse: o complichi un pochino il corpo del loop, controllando hasNextLine() prima di ciascun nextLine() oppure al contrario semplifichi la lettura aggiungendo un po' di logica.
    In quest'ultimo caso il while conterrebbe solo 1 nextLine() e poi tieni un "contatore". Le righe indicate dal contatore con 0,1,2,3 le prendi e le assegni alle variabili a/b/c/d (qui basta uno switch), mentre la 4 la ignori e ricominci da 0.

    codice:
    int contatore = 0;
    String a, b, c, d;
    
    while (file.hasNextLine()) {
        String riga = file.nextLine();
    
        // tua logica con contatore.
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.