Necesita obtener la última línea del archivo de registro grande. ¿Cuál es la mejor manera de hacer eso?Cómo leer eficientemente solo la última línea del archivo de texto
Respuesta
desea leer el archivo hacia atrás usando ReverseLineReader
:
How to read a text file reversely with iterator in C#
A continuación, ejecute .Take(1)
en él.
var lines = new ReverseLineReader(filename);
var last = lines.Take(1);
Usted querrá utilizar Jon Skeet's biblioteca MiscUtil directamente en lugar de copiar/pegar el código.
O bien, puede hacerlo de dos líneas (.Net 4 solamente)
var lines = File.ReadLines(path);
string line = lines.Last();
Esto lee el contenido completo del archivo en la memoria – RJFalconer
Si bien esto puede hacer el trabajo, es increíblemente ineficiente en memoria (como notas RJFalconer) y también tiene una gran cantidad de latencia: recuerde que leer un archivo es una de las cosas más lentas que puede hacer en un programa. Si solo lees con poca frecuencia, esto podría funcionar, pero esto es una solución sólida y profesional. –
String lastline="";
String filedata;
// Open file to read
var fullfiledata = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader sr = new StreamReader(fullfiledata);
//long offset = sr.BaseStream.Length - ((sr.BaseStream.Length * lengthWeNeed)/100);
// Assuming a line doesnt have more than 500 characters, else use above formula
long offset = sr.BaseStream.Length - 500;
//directly move the last 500th position
sr.BaseStream.Seek(offset, SeekOrigin.Begin);
//From there read lines, not whole file
while (!sr.EndOfStream)
{
filedata = sr.ReadLine();
// Interate to see last line
if (sr.Peek() == -1)
{
lastline = filedata;
}
}
return lastline;
}
- 1. Leer la última línea del archivo de texto
- 2. C++ forma más rápida de leer solo la última línea de archivo de texto?
- 3. Cómo leer solo la primera línea de un archivo
- 4. ¿Cómo borrar la última línea en un archivo de texto?
- 5. ¿Leyó rápidamente la última línea de un archivo de texto?
- 6. ¿Imprimir solo la última línea de un archivo?
- 7. PHP: Leer línea específica del archivo
- 8. ¿Leer solo la primera línea de un archivo?
- 9. Leer un archivo de texto línea por línea en Qt
- 10. Leer/Analizar archivo de texto línea por línea en VBA
- 11. While loop, cómo leer desde la segunda línea del archivo de texto
- 12. Comandos de lote de Windows para leer la primera línea del archivo de texto
- 13. Eliminar la última línea de un archivo
- 14. SED + eliminan cadena sólo en la última línea del archivo
- 15. Cómo leer línea por línea desde un área de texto
- 16. Anexando a la última línea del archivo CSV en Java
- 17. Analizando eficientemente un archivo de texto grande en C#
- 18. ¿Cómo borrar la última línea de archivo en Ruby?
- 19. FileHelpers: Cómo omitir primera y última línea de la lectura de texto de ancho fijo
- 20. Leer un archivo de texto con php
- 21. ¿Cómo escribir eficientemente un archivo de texto grande en C#?
- 22. Leer dos archivos de texto línea por línea simultáneamente -python
- 23. ¿Cómo modifico la última línea de un archivo?
- 24. ¿Cómo obtener la última fecha de modificación del archivo en la línea de comandos de Windows?
- 25. Lectura de un Archivo de texto hasta EOF repite última línea
- 26. Búsqueda eficiente de la última línea en un archivo de texto
- 27. PHP - ¿Devolviendo la última línea en un archivo?
- 28. shell: elimine la última línea de un gran archivo de registro de texto
- 29. Leer en archivo de texto línea por línea php - no se detectó nueva línea
- 30. ¿Es posible cambiar la altura del texto en línea, no solo la altura de la línea?
Nice! Gracias, lo intentaré. – 0x49D1
Es extraño que la biblioteca no esté en Nuget ... ¡Gracias! – 0x49D1
Ver mi respuesta en el posible duplicado http://stackoverflow.com/a/33907602/4821032 –