elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Dudas Generales (Moderador: engel lex)
| | |-+  Modificar un archivo en Java.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Modificar un archivo en Java.  (Leído 2,469 veces)
DiiaNa1501

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Modificar un archivo en Java.
« en: 2 Marzo 2014, 20:36 pm »

Hola!!! Estoy realizando un programa en el cual en una clase tengo las funciones del archivo que son leer y escribir y en el main debo instanciar dicha clase para modificarlo, pero cada que hago Archivo ar =new Archivo("Prueba.txt"); estoy creando un nuevo archivo.
En la misma clase main escribo entonces
if(!ar.exist()){
 ar.createnewfile();
 ar.escribir("Hola");
ar.escribir ("Buenos dias");
}
sin embargo en el archivo aparece únicamente el último mensaje.
¿Me podrían ayudar con esto?
Gracias de antemano ;)


En línea

ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: Modificar un archivo en Java.
« Respuesta #1 en: 2 Marzo 2014, 21:23 pm »

Para seguir escribiendo a continuación de lo que hay en el fichero, usa la clase BufferedWriter que tiene el método "append(String)" para apendizar texto.

Saludos


En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
DiiaNa1501

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Modificar un archivo en Java.
« Respuesta #2 en: 2 Marzo 2014, 21:48 pm »

package ficheros;

import java.io.*;
import java.util.*;

public class funcar{
File file;
FileReader fr;
FileWriter fw;
BufferedReader br;
BufferedWriter bw;


public void OpenFile(){
    try {
        File file2;
        file2=new File("si.txt");
        if(!file2.exists()){
             file2.createNewFile();
             System.out.println("Ha sido creado un nuevo archivo");
        }
        if(file2.exists()){
        file=file2;
        fr = new FileReader(file);
        br=new BufferedReader(fr);
        fw=new FileWriter(file);
        bw=new BufferedWriter(fw);}
    } catch (Exception ex) {
        System.out.println("Error en el abrir de archivos: "+ex.toString());
    }
}
public void CloseFile(){
    try { 
        br.close();
        fr.close();
        bw.close();
        fw.close();
    } catch (Exception e) {
         System.out.println("Error al cerrar el archivo: "+e.toString());   
    }
       
}

public void Escribir(String m){
    try {
        OpenFile();
        String a="", aux="";
        //bw.write("Hola");
        while((aux=br.readLine())!=null){
            a+=aux;}
        bw.write(a+" "+m);
        CloseFile();
    } catch (Exception e) {
        System.out.println("Error al escribir en el archivo: "+e.toString());
    }
       
        }
}

En la clase main:
package ficheros;

import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;


public class Ficheros {



    public static void main(String[] args) {
        funcar fi=new funcar();
        fi.Escribir("Hi!");
        fi.Escribir("Mío");
       
    }
           
    }

aún así sigue apareciendo en el archivo sólo el String "Mío" :-[ perdona cualquier error y por favor dime en qué fallo si puedes  ;D
En línea

ThinkByYourself

Desconectado Desconectado

Mensajes: 191


Ver Perfil
Re: Modificar un archivo en Java.
« Respuesta #3 en: 3 Marzo 2014, 11:29 am »

En el momento de lectura invocas al método "write(String)":

Código
  1. while((aux=br.readLine())!=null){
  2. a+=aux;}
  3. bw.write(a+" "+m);

En lugar de eso, es mejor crear un PrintWriter (me equivoqué al decirte BufferedWriter, me ha venido ahora la clase a la cabeza, es PrintWriter) te sirve para apendizar el contenido en lugar de sobreescribirlo o reemplazar lo que hubiera. Ejemplos de uso hay en internet para aburrirse.

Saludos y espero que sirva!
En línea

No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como mandar a llamar un archivo java externo dentro un un archivo java
Java
hacker2000 8 12,414 Último mensaje 20 Diciembre 2005, 20:35 pm
por Casidiablo
modificar un archivo .swf a dvd o vdc
Diseño Gráfico
magyta 1 4,127 Último mensaje 22 Mayo 2008, 00:59 am
por marlon_agz
MODIFICAR ARCHIVO .MDE
Programación Visual Basic
JUANSERRA 0 4,246 Último mensaje 5 Agosto 2008, 09:45 am
por JUANSERRA
Manejar archivo .txt desde java (ingresar datos, modificar datos, buscar datos y
Java
chuystoty 9 106,460 Último mensaje 20 Mayo 2012, 06:13 am
por ELMED
Modificar un archivo TXT « 1 2 »
Programación C/C++
titofla 10 15,661 Último mensaje 2 Noviembre 2011, 04:55 am
por PiroskY
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines