Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Mensaje iniciado por: Tuplado en 13 Enero 2013, 17:51 PM

Título: Duda_borrar_Linea_en_Fichero
Publicado por: Tuplado en 13 Enero 2013, 17:51 PM
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
Título: Re: Duda_borrar_Linea_en_Fichero
Publicado por: Eleкtro en 13 Enero 2013, 23:13 PM
(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;


Título: Re: Duda_borrar_Linea_en_Fichero
Publicado por: Tuplado en 14 Enero 2013, 14:20 PM
Perdonen no especifique el lenguaje, es con Java, lo de borrar una linea en un fichero.
Título: Re: Duda_borrar_Linea_en_Fichero
Publicado por: Eleкtro en 23 Enero 2013, 20:00 PM
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.