| |||
Ayuda con arreglos y archivos Hola gente aquí molestando una vez mas, mas que ayuda escribo para solicitar una orientación, tengo que realizar una aplicación que sea algo parecido a una factura donde yo tengo que manejar 3 opciones, estas opciones yo las tengo que manejar en arreglos para evitar perder esta información y cuando lo requiera con un botón guardar esa información en un archivo, yo he manejado guardar archivos con dataoutputstream y con file writter pero nunca he manejado información en arreglos y directmente mandar esa información a un archivo agradeceria su ayuda gracias |
| |||
Respuesta: Ayuda con arreglos y archivos No entiendo muy bien la pregunta, ¿te refieres a recuperar los datos del array para guardarlos? int[] array = new int[]{2,0,3,4,1} array[2] --> 3 |
| |||
Respuesta: Ayuda con arreglos y archivos Si leyendo la pregunta que hice suena confusa haber si me puedo explicar mejor, la idea es que en lugar de grabar directamente en un archivo lo que yo ingreso por teclado, esta informacion se valla a un arreglo y la informacion que esta guardada en el arreglo vaciarla en un archivo con el fin de no perder informacion que esta se guarde en memoria antes de grabarse en un archivo les dejo un codigo de lo que mas o menos he intentado pero no funciona siento que la logica que estoy usando no es buena haber si me puden ayudar input dis = new input (new input("Factura:txt")); for{ dis.writedouble(precio[]); dis.writechar("/t"); dis.writeint(unidad[]); dis.writechar("/t"); dis.writechars(desc[]); dis.writechar("/n"); } dis.close(); for { precio =dis.readDouble(); dis.readchar(); unidad=dis.readint(); dis.readchar(); des=dis.readline(); } |
| |||
Respuesta: Ayuda con arreglos y archivos //Primero hay que abrir el stream para poder leer el teclado para ello se hace. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //Luego creamos el array o tabla o arreglo donde queremos guardar la informacion. try{ String[] arrayEntrada = new String[10]; boolean ok = true; // se puede poner una cadena de control para indicar que no se va a seguir escribiendo desde el teclado for (int i=0; i<arrayEntrada.length && ok; i++ ) { String linea = br.readLine(); if (linea.equals("fin")) { ok = false; }else { arrayEntrada[i]= linea; } } //Creamos el fichero de salida y lo abrimos para escritura. String sFicheroEscritura = "Factura.txt"; File fichero = new File(sFichero); BufferedWriter bw = new BufferedWriter(new FileWriter(sFichero)); //se recorre el array y se inserta en el fichero for (int i=0;i<arrayEntrada.length) { bw.write(arrayEntrada[i]+"\n"); } bw.close();//al final se cierra el fichero para guardar los cambios. }catch (Exception e){e.printStackTrace();} |
| |||
Respuesta: Ayuda con arreglos y archivos Para que no desaparezca de memoria no necesitas almacenar la información en un array, puedes almacenar el contenido del fichero en un String, mientras algún objeto tenga relación con ese String estará vivo y el recolector de basura no lo pisará... Deberías leer el teclado y almacenarlo en un String (O alguna clase que te resulte cómoda a tal efecto) y cuando quieras, lo escribes al disco. |
| |||
Respuesta: Ayuda con arreglos y archivos Hola carlos gracias por contestar, sobre lo que tu me dices la verdad no entiendo eso de guardar la informacion en un string disculpa pero apenas voy empezando en esto de programacion y java hay ciertas cosas que aun no conosco o no he tenido oportunidad de leerla agradeceria si me explicaras gracias |
| |||
Respuesta: Ayuda con arreglos y archivos Mira, como bien sabes, un array es una colección para almacenar valores de un mismo tipo, así, en otros lenguajes la clase String no es más que un array de caracteres, es decir String "hola" == char[] {h,o,l,a}. Ahora bien, en Java un String es una clase más con operaciones definidas, no es un array de chars, sino una clase que hereda de CharSequence (Esto es un poco más lioso, pero para que lo sepas...) Entonces, si tú quieres leer linea a linea el teclado y al final guardar todo lo leido en un fichero, puedes hacerlo mediante la clase String, un pequeño ejemplo a ver si es realmente lo que quieres (En el ejemplo simplifico todo lo de leer de teclado en la funcion leerTeclado que devuelve un objeto String): String miTexto = ""; while ( continuar == true){ String ultimaLinea = leerTeclado(); if (!ultimaLinea.equals("FIN DEL TEXTO"); miTexto += "\n" + ultimaLinea; else continuar == false; } Al finalizar el bucle tendrías en la variable miTexto un texto con retornos de carro al final de cada linea que hayas introducido y solo tendrías que guardarlo en el fichero. Date cuenta que los ejemplos sencillos sirven para eso, para ilustrar y entender el funcionamiento de ciertas cosas, pero no son, en absoluto, la forma correcta de hacer las cosas... Un saludo! |
| |||
Respuesta: Ayuda con arreglos y archivos Bueno por fin pude guardar los datos del arreglo en un archivo, ahora tengo una duda yo ya tengo guardado el archivo con los datos que tenia el arreglo, ahora lo que tengo que hacer es mostrar esa informacion en textfield pero el frame debe de tener 2 botones de uno que diga siguiente y anterior de tal manera de que cuando yo le de siguiente se vea el dato que sigue y se le doy anterior me regrese al dato que yo ya habia visto esto lo podria hacer con un for recorriendo el archivo grabado o cual seria la mejor opcion de hacer esto y muchas gracias a todos por su ayuda |
Etiquetas: |