2012-05-25 27 views

Respuesta

14

Es posible que desee hacer algo como esto (si está usando Java 5 y más)

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 de Reading Integers From A File In An Array

+1

Está utilizando la misma respuesta que se responde [aquí] (http://stackoverflow.com/questions/303913/java-reading-integers-from-a-file-into-an-array/304061#304061) – Jaguar

+1

Gracias está trabajando – Cindrella

+3

He añadido el requerido citas a tu respuesta. Por favor, asegúrese de hacer eso en el futuro. –

1

¿De qué tamaño son los valores? Java 6 tiene una clase de escáner que puede leer cualquier cosa, desde int (32 bits), largo (64 bits) hasta BigInteger (entero grande arbitrario).

Para Java 5 o 4, Scanner está allí, pero no es compatible con BigInteger. Debe leer línea por línea (con readLine de la clase Scanner) y crear el objeto BigInteger desde String.

2

readLine() método uso FileInputStream 's para leer y analizar la cadena devuelta a int usando Integer.parseInt() método.

+1

no había encontrado' readLine() '' en FileInputStrem' –

+0

lo @MohammadFaisal dijo –

+0

@Mr_and_Mrs_D Mohammad hizo la pregunta correcta, la 'readline()' método no está presente en ' FileInputStream' pero está en 'BufferedReader'. Además, el método 'FileInputStrem.read() solo devuelve tipos' byte de bytes int ' – yeppe

3

Puede usar un Scanner y su método nextInt().
El escáner también tiene nextLong() para enteros más grandes, si es necesario.

+0

+1 Yo usaría 'nextLong()' como '34234324234' es demasiado grande para' int' –

3

Prueba esto: -

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

I utilizaría casi de la misma manera, pero con la lista como buffer para leer enteros:

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(); 
} 
Cuestiones relacionadas