Solved

Get C# File "Stream Reader" Last Line

Posted on 2012-03-30
7
1,920 Views
Last Modified: 2012-06-21
Hi ,
I need To Get The Last Line Only From A massive 10GB Text File  
Any Help Will Be Accepted And Thanks In Advance For The Effort
0
Comment
Question by:AhmedHindy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 9

Expert Comment

by:OCDan
ID: 37789487
String whatever= new String;
while !(EOF)
{
  whatever = readline code here
}
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 37789492
Like this?

string lastLine = string.Empty;

using (System.IO.StreamReader reader = new System.IO.StreamReader("c:\\some\\path\\to\\file.txt"))
{
    while (!reader.EndOfStream)
    {
        lastLine = reader.ReadLine();
    }
}

// lastLine is now populate with last line of file or an empty string if no lines were read.

Open in new window

0
 
LVL 27

Accepted Solution

by:
Chinmay Patel earned 300 total points
ID: 37789590
Hi AhmedHindy,

I would not recommend reading the file forward till the end and then read the last line.

I see there are two alternatives here
1. Use Tail for Windows - and using Process.Start you launch the application and get the results.
2. First seek to the end of the file and then read backwards till you hit a new line.

This file has fixed length lines?

Regards,
Chinmay.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 4

Author Comment

by:AhmedHindy
ID: 37789592
Hi , Thanks For The Fast Answers But ,
My Main Problem is The File Length about 10 GB I need Some Fast Algorithm To Get Last Line Only Directly Or Almost Directly To Save Time
0
 
LVL 27

Expert Comment

by:Chinmay Patel
ID: 37789599
Kindly note the URL for tail for the windows : http://sourceforge.net/projects/tailforwin32/

I posted the URL but it wouldn't work and I was editing my answer when you commented your last post :)

Kindly let me know if this file has fixed lenght lines or not?
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 37789627
Right...if the file does NOT have fixed width lines (as Chinmay_Patel has asked) then you have to read byte by byte backwards from the end of the file until you find your carriage return/line feed combination.

See: http://stackoverflow.com/questions/398378/get-last-10-lines-of-very-large-text-file-10gb-c-sharp
0
 
LVL 4

Author Comment

by:AhmedHindy
ID: 37790634
First Thanks For All Responses ,
Second  Unfortunately File Has No Fixed Length
And I Will Try To Read The File Backward
Thanks Again For The Effort
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question