2012-05-25 17 views

risposta

14

Si potrebbe desiderare di fare qualcosa di simile (se si sta utilizzando Java 5 e più)

Scanner scanner = new Scanner(new File("tall.txt")); 
int [] tall = new int [100]; 
int i = 0; 
while(scanner.hasNextInt()) 
{ 
    tall[i++] = scanner.nextInt(); 
} 

Via Julian Grenier da Reading Integers From A File In An Array

+1

Stai utilizzando la stessa risposta a cui è stata data una risposta [qui] (http://stackoverflow.com/questions/303913/java-reading-integers-from-a-file-into-an-array/304061#304061) – Jaguar

+1

Grazie al suo funzionamento – Cindrella

+3

Ho aggiunto il richiesto citazioni alla tua risposta. Per favore assicurati di farlo in futuro. –

1

Quanto sono grandi i valori? Java 6 ha una classe Scanner in grado di leggere qualsiasi cosa da int (32 bit), long (64-bit) a BigInteger (numero intero arbitrario di grandi dimensioni).

Per Java 5 o 4, Scanner è lì, ma non supporta BigInteger. È necessario leggere riga per riga (con readLine della classe Scanner) e creare l'oggetto BigInteger dalla stringa.

2

readLine() metodo di utilizzo FileInputStream s' per leggere e analizzare la stringa restituita a int utilizzando Integer.parseInt() metodo.

+1

io non avevo trovato' readLine() 'in' FileInputStrem' –

+0

quello @MohammadFaisal detto –

+0

@Mr_and_Mrs_D Mohammad ha fatto la domanda giusta, il 'readline()' metodo non è presente in ' FileInputStream', ma è in 'BufferedReader'. Inoltre, il metodo 'FileInputStrem.read() restituisce solo i tipi' int char byte' – yeppe

3

È possibile utilizzare un Scanner e il suo metodo nextInt().
Lo scanner ha anche nextLong() per numeri interi più grandi, se necessario.

+0

+1 Vorrei usare 'nextLong()' come '34234324234' è troppo grande per un' int' –

3

Prova questo: -

File file = new File("contactids.txt"); 
Scanner scanner = new Scanner(file); 
while(scanner.hasNextLong()) 
{ 
    // Read values here like long input = scanner.nextLong(); 
} 
0

I userebbe quasi allo stesso modo ma con lista come buffer per interi letti:

static Object[] readFile(String fileName) { 
    Scanner scanner = new Scanner(new File(fileName)); 
    List<Integer> tall = new ArrayList<Integer>(); 
    while (scanner.hasNextInt()) { 
     tall.add(scanner.nextInt()); 
    } 

    return tall.toArray(); 
} 
Problemi correlati