read first line of each text file

Hi experts,

I have different txt files (unknown file numbers), I would like to load them and read only the first line of each text file and then save them to a string.

The first line of each file is only a number such as:
test1.txt
1
2
3

Open in new window


test2.txt
3
2
1

Open in new window


test3.txt
4
5
6

Open in new window


So, I wanna load them and put all the first lines to one string like this:
mystring= "1,3,4"
note:
1 is the first line of test1.txt
3 is the first line of test2.txt
4 is the first line of test3.txt

Thanks in advance
Regards
Sat80Asked:
Who is Participating?
 
Carl TawnConnect With a Mentor Systems and Integration DeveloperCommented:
Try this:
        Dim list As New List(Of String)

        For Each filename As String In Directory.GetFiles("C:\test")
            Using sr As StreamReader = New StreamReader(filename)
                list.Add(sr.ReadLine())
            End Using
        Next

        Dim result As String = String.Join(",", list.ToArray())

Open in new window

0
 
DhaestConnect With a Mentor Commented:
Try the following
string[] filePaths = System.IO.Directory.GetFiles(@"C:\test\", "*.txt");
            string output = "";
            foreach (string sFile in filePaths)
            {
                System.IO.StreamReader file = new System.IO.StreamReader(sFile);
                string strLine = file.ReadLine();
                output += strLine + " is the first line of " + sFile + Environment.NewLine;
                file.Close();
            }

Open in new window

0
 
Sat80Author Commented:
Thanks, I am sry that I didn't say I am using vb.net 2010.
I guess the code in different lang? C#?
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
Sat80Author Commented:
@carl_tawn, thanks.
For Each filename As String In Directory.GetFiles("C:\test")
Can I specify the ext?
For Each filename As String In Directory.GetFiles("C:\test\test*.txt") --> I got an error "Illegal characters in path"
0
 
DhaestCommented:
I'm sorry. I posted indeed in c#

For your last question: try:

For Each filename As String In Directory.GetFiles("C:\test\test, "*.txt")
0
 
Carl TawnSystems and Integration DeveloperCommented:
What Dhaest said :)
0
 
Sat80Author Commented:
Thank you ALL :)
It's not working because the code miss "
For Each filename As String In Directory.GetFiles("C:\test\test, "*.txt")

And when I added " to the code
For Each filename As String In Directory.GetFiles("C:\test\test", "*.txt")

It then return the same error, strange!
0
 
Carl TawnSystems and Integration DeveloperCommented:
What error?
0
 
Sat80Author Commented:
This one:
"Illegal characters in path"

I guess the line is wrong, coz I wanna load files not folder?

For Each filename As String In Directory.GetFiles("C:\test")

I want to load files starting like this:
c:\test\test*.txt

Because there are unknown files number on the test folder such as:
c:\test\test1.txt
c:\test\test2.txt
c:\test\test3.txt
0
 
Carl TawnSystems and Integration DeveloperCommented:
If you want to restrict on name as well as extension then that needs to be part of your pattern:
For Each filename As String In Directory.GetFiles("C:\test", "test*.txt")

Open in new window

0
 
Sat80Author Commented:
Yes you are right, thanks you sir :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.