Buscar dato determinado dentro de un archivo .txt

Que tal soy nuevo en el foro, tengo una pregunta referente a como buscar un dato ingresado por el usuario dentro de un archivo de texto. Lo que pasa es que tengo un archivo de texto que tiene información de un inventario como por ejemplo:
01234, "Lapiz", 13,
45678, "Goma", 12
En si lo que busco es:
Que al abrirse el sea leído línea por línea y lo acumule en un arreglo multidimensional [5] [3]. (Dicho arreglo contendrá toda la información del archivo.)
El arreglo será la base de datos, desde donde se compare mediante alguna cláusula (if, switch, etc). Que el dato que envía el cliente sea igual a algún número de pieza que se tiene en inventario.
El cliente enviará un número de pieza que se comparará contra el primer dato que se tiene del arreglo; si coincide se toman los 2 datos que restan del arreglo (nombre de pieza y cantidad) y se envían a través de la conexión a servidor, como respuesta.
Espero puedan ayudarme, estoy desesperado :S

1 Respuesta

Respuesta
1
Creo que lo primero, habría que replantear la solución del problema:
Ya que usamos java, usemos objetos: lo suyo es generar un nuevo objeto que se adapte a lo que tienes en el archivo de texto, por ejemplo
class ArticuloInventario{
 private int id;
private String nombreArticulo;
private int cantidad;
...
}
Y te generas una Lista (List en Java) o un array (lo que prefieras) donde vas a añadir objetos de este tipo. Al final tendrás en esa lista toda la info del archivo.
Java tiene librerías para leer archivos (por lineas como tu quierer o de cualquier forma) y mil ejemplos en google:
http://chuwiki.chuidiang.org/index.php?title=Lectura_y_Escritura_de_Ficheros_en_Java
Y una vez que tengas el String con la linea del fichero, puedes hacer un split de este (puedes mirar en la api de java como funciona los métodos del String si no lo sabes), que te devolvera un array de 3 elementos y ya asignarlos a un nuevo objeto de la clase que te has creado. Lo añades a la lista o al array de elementos y listo.
¿Cómo comparamos ahora el dato? Pues solo tienes que comparar cual de todos los objetos del array tiene su atributo id con el valor que te ha pasado el cliente.
A rasgos generales, esto es lo que se debe de hacer. Entiendo que sabes un mínimo de programación por tu enunciado. Quizás te falte algo de orientación a objetos.
http://www.compunauta.com/forums/linux/programacion/java/AprendiendoJava.pdf

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas