Eliminar una linea de un archivo de texto en java?

Este codigo me muestra las 4 lineas que tengo en el texto. Pero yo quiero por ejmplo hacer que muestre la linea 2 del texto no mas solo esa linea.
Y tambn que pueda hacer que por ejmplo elimine esa linea 2 del texto
E intentado pero no e podido agradeceria sus ayudas...
try {
            File f = new File("C:archivo.txt");
            FileReader fr = new FileReader(f);
            BufferedReader br = new BufferedReader(fr);
            String linea = "";
            while ((linea = br.readLine()) != null) {
                System.out.println(linea);
            }
            br.close();
            fr.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
Respuesta
1
Alomejor hay otra manera de hacerlo pero esta funciona, yo nnunca he usado archivos espero te sirva.. cualquier duda puedes preguntar.
import java.io.*;
import java.util.*;
public class EjemploTexto{
private static File archivo = null;
private static FileWriter fichero =null;
private static FileReader fr = null;
private static BufferedReader br = null;
private static PrintWriter escrive =null;
public static void main(String []args){
LeerArchivo();
System.out.println("Ejemplo borrando la linea numero 3 "); int n=3;
BorrarLinea(n);
GuardarArchivo();
LeerArchivo();
    }
public static void GuardarArchivo(){
try
        {
            fichero = new FileWriter("c:/prueba.txt");
            escrive = new PrintWriter(fichero);
            for(int i=0;i<lineas.size();i++){
            escrive.println(lineas.elementAt(i));
            }
            fichero.close();
        } catch (Exception e) {
            e.printStackTrace();
        } 
}
private static Vector lineas=new Vector();
public static void LeerArchivo(){
System.out.println("Leyendo archivo");
try { 
archivo = new File ("C:\\prueba.txt");
        fr = new FileReader (archivo);
        br = new BufferedReader(fr);
        String linea;
        while((linea=br.readLine())!=null){
        System.out.println(linea);
        }
        br.close(); 
        fr.close();
       } catch (Exception e) { 
           System.out.println(e); 
       } 
}
public static void BorrarLinea(int n){
try { 
archivo = new File ("C:\\prueba.txt");
        fr = new FileReader (archivo);
        br = new BufferedReader(fr);
        String linea; int cont=0;
        String completo="";
        while((linea=br.readLine())!=null){
        cont++;
        if(cont!=n){
        lineas.addElement(linea);//AGREGAR LINEASS A UN VECTOR
        }
        }
        br.close(); 
        fr.close();
      } catch (Exception e) { 
          System.out.println(e); 
      } 
}
}
y si por ejemplo quiero añadir una linea pero al comienzo de esas 4 lineas que tengo sin que se borre lo que tengo ?
Agregale este metodo y modificas el de LeerArchivo solo le agregas esto cada vez que lea una linea:
         lineas2.addElement(linea);
public static void AgregarLinea(){
String NuevaLinea="nueva linea o texto instroducido x";
  Vector aux=new Vector();
  aux.addElement(NuevaLinea);
  for(int i=0;i<lineas2.size();i++){
  aux.addElement(lineas2.elementAt(i));//PASA LOS ELEMENTOS DEL ARCHIVO
  }
     GuardarArchivo(aux);
}
Amigo no entendi como implementaste el codigo, intento meterlo y nada
Esto esta con menu y toda la cosa no le hice muchas pruebas si te sale algun error me dicess.
Suerte...
import java.io.*;
import java.util.*;
public class EjemploTexto{
private static File archivo = null;
private static FileWriter fichero =null;
private static FileReader fr = null;
private static BufferedReader br = null;
private static PrintWriter escrive =null;
private static BufferedReader lee=new BufferedReader(new InputStreamReader(System.in));
public static void main(String []args) throws IOException{
int op=0;
while(true){
System.out.println("****SELECCIONE UNA OPCION****");
System.out.println("1.-Mostrar informacion del archivo. ");
System.out.println("2.-Eliminar una linea");
System.out.println("3.-Insertar una nueva linea");
System.out.println("4.-Salir");
op=Integer.parseInt(lee.readLine());//LEER LA OPCION
switch(op){
case 1:
LeerArchivo(true);
break;
case 2:
System.out.println("Inserta el numero de linea a eliminar");
int n=Integer.parseInt(lee.readLine());
BorrarLinea(n);
break;
case 3:
System.out.println("Inserta el texto de la linea a insertar");
String r=lee.readLine();
AgregarLinea(r);
break;
case 4:
return;
}
}
    }
public static void AgregarLinea(String r){
Vector LineasAux=new Vector();
LineasAux.addElement(r);
System.out.println("LEYENDO EL ARCHIVO...");
LeerArchivo(false);
for(int i=0;i<LineasNuevas.size();i++){
LineasAux.addElement(LineasNuevas.elementAt(i));//PASA LOS ELEMENTOS DEL ARCHIVO
}
GuardarArchivo(LineasAux);
}
public static void GuardarArchivo(Vector ln){
try
        {
            fichero = new FileWriter("c:/prueba.txt");
            escrive = new PrintWriter(fichero);
            for(int i=0;i<ln.size();i++){
            escrive.println(ln.elementAt(i));
            }
            fichero.close();
        } catch (Exception e) {
            e.printStackTrace();
        } 
}
private static Vector LineasNuevas=new Vector();
public static void LeerArchivo(boolean b){
System.out.println("");
LineasNuevas.clear();
try { 
archivo = new File ("C:\\prueba.txt");
        fr = new FileReader (archivo);
        br = new BufferedReader(fr);
        String linea;
        while((linea=br.readLine())!=null){
        LineasNuevas.addElement(linea);
        if(b){
        System.out.println(linea);
        }
        }
        br.close(); 
        fr.close();
       } catch (Exception e) { 
           System.out.println(e); 
       } 
}
public static void BorrarLinea(int n){
Vector lineas=new Vector();
try { 
archivo = new File ("C:\\prueba.txt");
        fr = new FileReader (archivo);
        br = new BufferedReader(fr);
        String linea; int cont=0;
        while((linea=br.readLine())!=null){
        cont++;
        if(cont!=n){
        lineas.addElement(linea);//AGREGAR LINEAS A UN VECTOR
        }
        }
        br.close(); 
        fr.close();
        //Se guarda de nuevo el archivo
        GuardarArchivo(lineas);
        lineas.clear();
      } catch (Exception e) { 
          System.out.println(e); 
      } 
}
}
noo amigo eso me pegue una enrredada la tenaz jaja osea con el 1 ejemplo de agregar linea osea yo meto el metodo osea asi
import java.io.*; 
import java.util.*; 
public class EjemploTexto{ 
private static File archivo = null; 
private static FileWriter fichero =null; 
private static FileReader fr = null; 
private static BufferedReader br = null; 
private static PrintWriter escrive =null; 
public static void main(String []args){ 
LeerArchivo(); 
System.out.println("Ejemplo borrando la linea numero 3 "); int n=3; 
BorrarLinea(n); 
GuardarArchivo(); 
LeerArchivo(); 
    } 
public static void GuardarArchivo(){ 
try 
        { 
            fichero = new FileWriter("c:/prueba.txt"); 
            escrive = new PrintWriter(fichero); 
            for(int i=0;i<lineas.size();i++){ 
            escrive.println(lineas.elementAt(i)); 
            } 
            fichero.close(); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        }  

private static Vector lineas=new Vector(); 
public static void LeerArchivo(){ 
System.out.println("Leyendo archivo"); 
try {  
archivo = new File ("C:\\prueba.txt"); 
        fr = new FileReader (archivo); 
        br = new BufferedReader(fr); 
        String linea; 
        while((linea=br.readLine())!=null){ 
        System.out.println(linea); 
        } 
        br.close();  
        fr.close(); 
       } catch (Exception e) {  
           System.out.println(e);  
       }  

public static void BorrarLinea(int n){ 
try {  
archivo = new File ("C:\\prueba.txt"); 
        fr = new FileReader (archivo); 
        br = new BufferedReader(fr); 
        String linea; int cont=0; 
        String completo=""; 
        while((linea=br.readLine())!=null){ 
        cont++; 
        if(cont!=n){ 
        lineas.addElement(linea);//AGREGAR LINEASS A UN VECTOR 
        } 
        } 
        br.close();  
        fr.close(); 
      } catch (Exception e) {  
          System.out.println(e);  
      }  

                               AQUI METI EL METODO QUE ME DIJISTE
que hago con este :   lineas2.addElement(linea);
para donde lo mando??
public static void AgregarLinea(){ 
String NuevaLinea="nueva linea o texto instroducido x"; 
  Vector aux=new Vector(); 
  aux.addElement(NuevaLinea); 
  for(int i=0;i<lineas2.size();i++){ 
  aux.addElement(lineas2.elementAt(i));//PASA LOS ELEMENTOS DEL ARCHIVO 
  } 
     GuardarArchivo(aux); 
}
}
copea el ultimo que te pase, olvida lo demás}}} xD y prueba..... 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas