Java - Duda escribir ficheros en java

 
Vista:

Duda escribir ficheros en java

Publicado por Rober80 (1 intervención) el 26/06/2008 12:02:58
Hola:

Espero que me podais echar una mano.

Tengo un fichero de texto, y tengo que hacer un metodo que me añada una palabra al final de la linea que le indique. Me podeis echar una mano, que no tengo mucha idea.

Muchas gracias

EJEMPLO
tengo el siguiente archivo
A B C D
E F G
H I J K L M

Y QUIERO AÑADIR EN LA LINEA 2 S
CON LO QUE QUEDARIA

A B C D
E F G S
H I J K L M
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda escribir ficheros en java

Publicado por cmtoro (24 intervenciones) el 26/06/2008 16:19:32
Hola, creo q puedes hacer algo muy sencillo, vas a tener q usar 2 archivos,
1: archivo_original
2: archivo_auxiliar

lo q puedes hacer es ir escribiendo linea por linea desde el archivo_original hasta el archivo_auxiliar, y cuando estes en la línea indicada agregarás el texto de más...

es algo cómo esto:
el código ya está listo, solo debes crear el archivo "Archivo.txt" q este en el mismo directorio y q contenga:

A B C D
E F G
H I J K L M

y puedes probarlo

import java.io.*;
import javax.swing.*;
public class Escritora{
public static void main(String arg[]){
String cadena=JOptionPane.showInputDialog(null, "Ingrese la cadena q desea insertar");
int numeroLinea=Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese el número de línea"));
try{
File archivo_original=new File("Archivo.txt");
LineNumberReader lnr=new LineNumberReader(new FileReader(archivo_original));
File archivo_auxiliar=new File("ArchivoAux.txt");
archivo_auxiliar.createNewFile();
PrintStream ps=new PrintStream(archivo_auxiliar);
String linea;
while((linea=lnr.readLine())!=null){
if(numeroLinea==lnr.getLineNumber()){
ps.println(linea + " " + cadena);
}else{
ps.println(linea);
}
}
lnr.close();
ps.close();
archivo_original.delete();
archivo_auxiliar.renameTo(archivo_original);
}catch(FileNotFoundException fnfe){}catch(IOException ioe){}
}
}

espero q te sirva!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar