Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C#
  4. reading text file as a database

reading text file as a database

Scheduled Pinned Locked Moved C#
questiondatabasehelp
13 Posts 6 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • U User 4733684

    I have a text file Each line is the record as shown below 000071000456789987000000008250000000000000000000 in top line : 00007 = id field 1000456789987 = sn field 000000008250000 = amount field 000000000000000 = blank field The question is : How can I read each line in that file? help me please very important for me

    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #4

    With a loop.

    Check out the CodeProject forum Guidelines[^] The original soapbox 1.0 is back![^]

    T 1 Reply Last reply
    0
    • U User 4733684

      I have a text file Each line is the record as shown below 000071000456789987000000008250000000000000000000 in top line : 00007 = id field 1000456789987 = sn field 000000008250000 = amount field 000000000000000 = blank field The question is : How can I read each line in that file? help me please very important for me

      N Offline
      N Offline
      Nuri Ismail
      wrote on last edited by
      #5

      You can use StreamReader[^] class to read the file line by line. If your fields are with fixed lengths you can use the String.Substring[^] method to extract the fields from the line. Here is an example:

      string filePath = @"Path_to_your_file_here";
      string line;

      // Field lengths (I use the lengths from your original post):
      int idLength = 5, snLength = 13, amountLength = 15, blankLength = 15;

      if (File.Exists(filePath))
      {
      StreamReader file = null;
      try
      {
      file = new StreamReader(filePath);
      while ((line = file.ReadLine()) != null)
      {
      // Extract fields from the line
      string id = line.Substring(0, idLength);
      string sn = line.Substring(idLength, snLength);
      string amount = line.Substring(idLength + snLength, amountLength);
      string blank = line.Substring(idLength + snLength + amountLength, blankLength);
      }
      }
      finally
      {
      if (file != null)
      file.Close();
      }
      }

      I hope this helps. :) Regards, Nuri Ismail

      U 1 Reply Last reply
      0
      • L Lost User

        With a loop.

        Check out the CodeProject forum Guidelines[^] The original soapbox 1.0 is back![^]

        T Offline
        T Offline
        TheDudeJuan
        wrote on last edited by
        #6

        there is no need for loop with the ReadAllLines method.. It returns a string array containing all the lines of a file ;)

        Here we rest... So why not make the best of it? :D

        L 1 Reply Last reply
        0
        • T TheDudeJuan

          there is no need for loop with the ReadAllLines method.. It returns a string array containing all the lines of a file ;)

          Here we rest... So why not make the best of it? :D

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #7

          He said he was using this file as a database, which tend to be large. I'd personally prefer not to have an entire database in a string, whereas I can read a line, perform operations and discard of it keeping my memory footprint down.

          Check out the CodeProject forum Guidelines[^] The original soapbox 1.0 is back![^]

          1 Reply Last reply
          0
          • U User 4733684

            I have a text file Each line is the record as shown below 000071000456789987000000008250000000000000000000 in top line : 00007 = id field 1000456789987 = sn field 000000008250000 = amount field 000000000000000 = blank field The question is : How can I read each line in that file? help me please very important for me

            S Offline
            S Offline
            SilimSayo
            wrote on last edited by
            #8

            use StreamReader

            int id;
            int sn;
            double amount;
            int blank;
            StreamReader sr = new StreamReader("C:\FileFolder\myfile.txt");//
            String strInput="";
            strInput=sr.ReadLine();//Read first line in file
            while ((strInput = sr.ReadLine()) != null ) //Read file rest of the file
            {
            //Use Substring to extract specific portions of the string and assign value to the right variable
            try
            {
            id = int.Parse(strInput.Substring(0,5));
            sn=double.Parse(strInput.Substring(5,13));
            //etc
            }
            catch(Exception e)
            {

             }
            

            }

            NB. Just a learner so my code is not the best but there is a general idea

            1 Reply Last reply
            0
            • U User 4733684

              I have a text file Each line is the record as shown below 000071000456789987000000008250000000000000000000 in top line : 00007 = id field 1000456789987 = sn field 000000008250000 = amount field 000000000000000 = blank field The question is : How can I read each line in that file? help me please very important for me

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #9

              Do you want to have all the records in memory at once? Or do you want to read each particular record based on its ID or SN (e.g. GetRecord ( 7 ) )? What are you going to do with the data?

              U 1 Reply Last reply
              0
              • P PIEBALDconsult

                Do you want to have all the records in memory at once? Or do you want to read each particular record based on its ID or SN (e.g. GetRecord ( 7 ) )? What are you going to do with the data?

                U Offline
                U Offline
                User 4733684
                wrote on last edited by
                #10

                hello everybody I write one c# program for reading data record from an access database ant write each record to one line in text file and now I want to read data from each line in text file and show them on a form using labels or text boxes etc to check that the data on text file are equal to database records or not? I am sorry if i can't describe as well as you want .

                P 1 Reply Last reply
                0
                • N Nuri Ismail

                  You can use StreamReader[^] class to read the file line by line. If your fields are with fixed lengths you can use the String.Substring[^] method to extract the fields from the line. Here is an example:

                  string filePath = @"Path_to_your_file_here";
                  string line;

                  // Field lengths (I use the lengths from your original post):
                  int idLength = 5, snLength = 13, amountLength = 15, blankLength = 15;

                  if (File.Exists(filePath))
                  {
                  StreamReader file = null;
                  try
                  {
                  file = new StreamReader(filePath);
                  while ((line = file.ReadLine()) != null)
                  {
                  // Extract fields from the line
                  string id = line.Substring(0, idLength);
                  string sn = line.Substring(idLength, snLength);
                  string amount = line.Substring(idLength + snLength, amountLength);
                  string blank = line.Substring(idLength + snLength + amountLength, blankLength);
                  }
                  }
                  finally
                  {
                  if (file != null)
                  file.Close();
                  }
                  }

                  I hope this helps. :) Regards, Nuri Ismail

                  U Offline
                  U Offline
                  User 4733684
                  wrote on last edited by
                  #11

                  Very thanks mr nuri ismail

                  N 1 Reply Last reply
                  0
                  • U User 4733684

                    hello everybody I write one c# program for reading data record from an access database ant write each record to one line in text file and now I want to read data from each line in text file and show them on a form using labels or text boxes etc to check that the data on text file are equal to database records or not? I am sorry if i can't describe as well as you want .

                    P Offline
                    P Offline
                    PIEBALDconsult
                    wrote on last edited by
                    #12

                    Why not have the application that displays the data also get the data from Access? It's really not a difficult task.

                    1 Reply Last reply
                    0
                    • U User 4733684

                      Very thanks mr nuri ismail

                      N Offline
                      N Offline
                      Nuri Ismail
                      wrote on last edited by
                      #13

                      You're welcome! :) Regards

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups