Lectura de archivos de texto línea por línea en NetBeans

Estoy usando el siguiente código para leer un archivo

int lineNumber = 0;
  try{
       BufferedReader in = new BufferedReader (new FileReader("electric.txt"));
  String line = null;
    while((line = in.readLine()) != null){
     lineNumber++;
     system.out.println("Line "+ lineNumber + " : "+ line);
     }
   } catch(IOException e){
     e.printStackTrace();
   }

Mi archivo tiene valores específicos en cada línea, por ejemplo, la primera línea es int, segunda cadena, tercera booleana, etc.

Mi pregunta es ¿cómo obtengo cada tipo de datos en una variable?

Respuesta 1

Básicamente, en un enfoque ingenuo, solo haces tantas lecturas como necesites:

String firstLine = in.readLine();
String secondLine = in.readLine();
...

Entonces podrías hacer algo como:

Whatever dataObject = new Whatever(firstLine, secondLine, ...);

por ejemplo (tal vez dentro de un bucle, ya que probablemente desee leer los datos de muchos objetos de datos, no solo uno).

En otras palabras: lee los atributos requeridos en algunas variables auxiliares, para luego insertarlos en el objeto que desea llenar con datos. Ventaja: esto funciona para datos muy grandes, ya que solo lee unas pocas líneas a la vez. Desventaja: debe preocuparse por los archivos no válidos, las líneas faltantes y esas cosas (por lo que necesita un poco de manejo de errores).

Alternativamente: simplemente lea todo el archivo en la memoria primero, por ejemplo usando List<String> allLines = java.util.Files.readAllLines(somePathToYourFile);Luego, repita estos pasos allLinespara procesar su contenido, ahora sin preocuparse por las IOExceptions, por ejemplo.

Respuesta: 2

¿Cuál es la expresión regular de Java que captura toda la lista de valores clave (se muestra en negrita en el ejemplo a continuación)? foo bar k0 = v0, k1 = v1, k2 = v2 foo bar Las claves y los valores no contienen espacios en blanco ...

Tengo el problema del verificador de paridad: una cadena binaria es una cadena que contiene solo caracteres '0' y '1'. La paridad de una cadena binaria se define de la siguiente manera. Si el número de veces que el personaje '...

En mi aplicación, estoy tratando de reproducir un archivo de sonido en formato ogg, almacenado en una carpeta sin formato en el directorio res de mi aplicación. Cuando presiono el botón que llama a la siguiente función, simplemente se congela con ...

La clase Applet ha quedado en desuso, pero los tutoriales en línea para crear applets de Java amplían la clase Applet. ¿Hay una manera diferente de crear un applet sin usar la clase obsoleta?