Duda_borrar_Linea_en_Fichero

Iniciado por Tuplado, 13 Enero 2013, 17:51 PM

0 Miembros y 1 Visitante están viendo este tema.

Tuplado

hola chicos/as

Tengo este código, para buscar una palabra en un texto y imprimir sólo la linea, del texto, alguien sabe como hacer que haga lo mimo pero elimine la linea del archivo de texto

Les dejo código:

Código:

package probando_cosas;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class LeeFiecheross{ 
public static void main(String[] args) {
java.util.Scanner scanner = new Scanner(System.in);
System.out.println("Introduce una cadena de texto a buscar: ");
String request = scanner.next();
       
try {
final BufferedReader reader = new BufferedReader(new FileReader("C:\\Users\\M.C.H.R. System\\Documents\\NetBeansProjects\\Probando_cosas\\src\\probando_cosas\\datos.dat"));
String line = "";
while((line = reader.readLine())!= null){
if(line.indexOf(request)!= -1){
                                    System.out.println(""+line);
}
                               
}reader.close();
} catch (FileNotFoundException e) {e.printStackTrace();
} catch (IOException           e) {e.printStackTrace();
}
}

   
}

bueno si con este mismo código, se puede en vez de imprimir la linea, pues me la borra del archivo se los agradecere.

Un saludo

Eleкtro

(Sacado de Google)
Código (vbnet) [Seleccionar]
   Dim file As New FileStream(data_path & "notes.txt", FileMode.Open)
           Dim text As String = Nothing
           Dim reader As New StreamReader(file)
           Dim writer As New StreamWriter(file)
   
           While Not reader.EndOfStream
               text = reader.ReadLine
               If text.Contains(value) Then
                   text.Replace(value, "")
                   writer.Write(text)
               End If
           End While
   
           file.Close()


Usa un convertidor de código online VB.NET -> C#

Aquí tienes otro ejemplo más simplificado:
CitarTo remove item from text file, first move all text to a list and remove whichever item you want. Then write the text stored in the list into text file
Código (csharp) [Seleccionar]

List<string> quotelist=File.ReadAllLines(filename).ToList();
           string firstItem= quotelist[0];
           quotelist.RemoveAt(0);
           File.WriteAllLines(filename, quotelist.ToArray());
           return firstItem;










Tuplado

Perdonen no especifique el lenguaje, es con Java, lo de borrar una linea en un fichero.

Eleкtro

ups, no me paré a ver la sintaxis de tu ejemplo jaja, me pareció C# a simple vista por los brackets y demás y te busqué eso para .NET, no me fijé en los imports de tu ejemplo, estaba claro, sorry.