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);
}
}
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 de yoniti
1
1
yoniti, estructura de datos
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);
}
}
}
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);
}
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);
}
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);
}
}
}
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);
}
}
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);
}
}
- Compartir respuesta
- Anónimo
ahora mismo