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
  1. Home
  2. General Programming
  3. C#
  4. file contents

file contents

Scheduled Pinned Locked Moved C#
helpquestiondatabase
19 Posts 5 Posters 0 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.
  • M Morgs Morgan

    Hi huys I have small issue, look at my code below:

    HttpPostedFile myFile = files.PostedFile;// Get a reference to PostedFile object
    string strFilename = Path.GetFileName(myFile.FileName);
    string[] lines = File.ReadAllLines(strFilename);
    foreach (string s in lines)
    {
    string[] fragments = s.Split(',');

                    errors.Text += fragments\[0\] + " ";
                    errors.Visible = true;
                }
    

    The contents of my file look like: Kiss,Simwaba,morgan@domain.co.za,0743720187,1987/12/31 Person,Simwaba,morgan@domain.co.za,0743720187,1987/12/31 what happens is that when i pick

    errors.Text += fragments[0];

    it returns "Kiss Person" which are the first index[0]s in both lines. I just want to retrieve "Kiss" how can I do this?:confused: Please help me in case am making a mistake somewhere. Morg

    G Offline
    G Offline
    Ghydo
    wrote on last edited by
    #6

    Instead of using a foreach construct to loop over all the lines use only the first line (if I understood your question correctly):

    string[] lines = File.ReadAllLines(strFilename);
    string[] fragments = lines[0].Split(',');
    errors.Text += fragments[0];
    errors.Visible = true;

    M 1 Reply Last reply
    0
    • K Keith Barrow

      Like I said, it's your loop. If you only ever want to process the first line, this is the job:

      string[] fragments = lines[0].Split(',');
      errors.Text += fragments[0];
      errors.Visible = true

      I think I'm missing the point, as you must have put the loop in for a reason.

      Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

      M Offline
      M Offline
      Morgs Morgan
      wrote on last edited by
      #7

      You are a star man, exactly what I want to do... Thanks again:thumbsup::thumbsup:

      K 1 Reply Last reply
      0
      • G Ghydo

        Instead of using a foreach construct to loop over all the lines use only the first line (if I understood your question correctly):

        string[] lines = File.ReadAllLines(strFilename);
        string[] fragments = lines[0].Split(',');
        errors.Text += fragments[0];
        errors.Visible = true;

        M Offline
        M Offline
        Morgs Morgan
        wrote on last edited by
        #8

        Yes man you did understand my question, this works exactly the way I want it to. Thanks alot man:thumbsup::thumbsup:

        1 Reply Last reply
        0
        • S Sandesh M Patil

          You use indexof and substring function to retrieve only "Kiss". foreach (string s in lines) { int i = s.indexof(','); string sub = s.substring(0,i); }

          K Offline
          K Offline
          Keith Barrow
          wrote on last edited by
          #9

          Because that is far more succinct than he currently has. Also, when he needs to process other elements your code should much easier to do than in than his own. Oh, hang on everything, except this sentence) is a whopping lie.

          Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

          S 1 Reply Last reply
          0
          • M Morgs Morgan

            You are a star man, exactly what I want to do... Thanks again:thumbsup::thumbsup:

            K Offline
            K Offline
            Keith Barrow
            wrote on last edited by
            #10

            No probs, somtimes the hardest ones to spot are the easiest.

            Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

            M 1 Reply Last reply
            0
            • K Keith Barrow

              Because that is far more succinct than he currently has. Also, when he needs to process other elements your code should much easier to do than in than his own. Oh, hang on everything, except this sentence) is a whopping lie.

              Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

              S Offline
              S Offline
              Sandesh M Patil
              wrote on last edited by
              #11

              i just give him answer. I think i forgot to remove foreach loop....

              K 1 Reply Last reply
              0
              • S Sandesh M Patil

                i just give him answer. I think i forgot to remove foreach loop....

                K Offline
                K Offline
                Keith Barrow
                wrote on last edited by
                #12

                Actually, it looks more like the thing you needed to change you didn't and vice versa.

                Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

                S 1 Reply Last reply
                0
                • K Keith Barrow

                  Actually, it looks more like the thing you needed to change you didn't and vice versa.

                  Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

                  S Offline
                  S Offline
                  Sandesh M Patil
                  wrote on last edited by
                  #13

                  hmmmmmm k i ll. Any way wat succit.. ;P

                  K P 2 Replies Last reply
                  0
                  • K Keith Barrow

                    No probs, somtimes the hardest ones to spot are the easiest.

                    Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

                    M Offline
                    M Offline
                    Morgs Morgan
                    wrote on last edited by
                    #14

                    Cool, hey now another problem is that what if I don't know the number of lines a file has, how can I deal with this line:

                    string[] fragments = lines[0].Split(',');

                    especially if I want to read all the lines of that file and I don't know how many lines the file has.:confused: Thanks for being helpful man

                    K 1 Reply Last reply
                    0
                    • S Sandesh M Patil

                      hmmmmmm k i ll. Any way wat succit.. ;P

                      K Offline
                      K Offline
                      Keith Barrow
                      wrote on last edited by
                      #15

                      Uni-Vote all you like, my rep'll take it :rolleyes:

                      Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

                      1 Reply Last reply
                      0
                      • M Morgs Morgan

                        Cool, hey now another problem is that what if I don't know the number of lines a file has, how can I deal with this line:

                        string[] fragments = lines[0].Split(',');

                        especially if I want to read all the lines of that file and I don't know how many lines the file has.:confused: Thanks for being helpful man

                        K Offline
                        K Offline
                        Keith Barrow
                        wrote on last edited by
                        #16

                        The code I posted only reads the first line, and will throw an error if the file is empty To process the whole file you need the loop. You need to decide how you are going to handle it. The way I see it you have a few realistic options:

                        1. Create a list of errors and add to it in the loop.
                        2. Only register the first error and continue processing.
                        3. Break out of the loop if an error is found.

                        Which of these apply?

                        Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

                        M 1 Reply Last reply
                        0
                        • K Keith Barrow

                          The code I posted only reads the first line, and will throw an error if the file is empty To process the whole file you need the loop. You need to decide how you are going to handle it. The way I see it you have a few realistic options:

                          1. Create a list of errors and add to it in the loop.
                          2. Only register the first error and continue processing.
                          3. Break out of the loop if an error is found.

                          Which of these apply?

                          Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.

                          M Offline
                          M Offline
                          Morgs Morgan
                          wrote on last edited by
                          #17

                          Cool bro I have figured it out check below:

                          manager = new data_manager();
                          HttpPostedFile myFile = files.PostedFile;// Get a reference to PostedFile object
                          string strFilename = Path.GetFileName(myFile.FileName);
                          if (strFilename != "")
                          {
                          string[] lines = File.ReadAllLines(strFilename);
                          for (int b = 0; b < lines.Length; b++)
                          {
                          string[] fragments = lines[b].Split(',');
                          int count = lines.Length;
                          errors.Text = fragments[0] + count.ToString();
                          errors.Visible = true;
                          string first = fragments[0]; string last = fragments[1]; string email = fragments[2];
                          string phone = fragments[3]; string birth = fragments[4];
                          string addrecord = manager.AddContact(first, last, email, phone, birth, Request.QueryString["userid"]);

                                          if (addrecord == "done")
                                          {
                                              error.Text = "Contact added check in the table below!";
                                              error.Visible = true;
                                              FillContacts(Request.QueryString\["userid"\]);//update datagrid after deleting a contact
                                          }
                                          else
                                          {
                                              error.Text = addrecord;
                                              error.Visible = true;
                                          }
                                      }
                                  }
                                  else
                                  {
                                      errors.Text = "No file with content was selected";
                                      errors.Visible = true;
                                  }
                          

                          and this works quiet well....super! :laugh:

                          1 Reply Last reply
                          0
                          • S Sandesh M Patil

                            hmmmmmm k i ll. Any way wat succit.. ;P

                            P Offline
                            P Offline
                            Pete OHanlon
                            wrote on last edited by
                            #18

                            Nope. I've run that through every possible combination of Google Translate and it keeps coming back with the same response: You're a dribbling idiot.

                            "WPF has many lovers. It's a veritable porn star!" - Josh Smith

                            As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.

                            My blog | My articles | MoXAML PowerToys | Onyx

                            1 Reply Last reply
                            0
                            • S Sandesh M Patil

                              You use indexof and substring function to retrieve only "Kiss". foreach (string s in lines) { int i = s.indexof(','); string sub = s.substring(0,i); }

                              P Offline
                              P Offline
                              Pete OHanlon
                              wrote on last edited by
                              #19

                              Bad news for you mate. Under the new reputation system, your points total goes down everytime you post something stupid. It's only the daily cap limit that's stopping your reputation being minus several hundred thousand.

                              "WPF has many lovers. It's a veritable porn star!" - Josh Smith

                              As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.

                              My blog | My articles | MoXAML PowerToys | Onyx

                              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