Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Load file .txt

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    21

    Mặc định Load file .txt

    Mình có đoạn code về load file .txt đã lưu sẵn trong file chạy của hệ thống như sau:

    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    
    namespace Read
    {
    
        public partial class Read : Form
        {
            
            
            private string m_WriteName;
    
            public Read()
            {
                InitializeComponent();
               
            }
    
     private void bLoad_Click(object sender, EventArgs e)
            {
    
               
                m_WriteName = @"file.txt";
                using (FileStream fs = File.Open(m_WriteName, FileMode.Append, FileAccess.Read))
                {
                    using (StreamReader sw = new StreamReader(fs))
                    {
                        sw.Read();
                        textBox1.Text = sw.ToString();
                    }
                }
            }
       }
    }
    Khi build thì không báo lỗi,
    Nhưng khi chạy thì nó chỉ chạy được tới dòng mình đã tô đậm thì nó dừng lại và không chạy nữa. Bạn nào biết lõichổ nào chỉ giúp mình với. Thanks!

  2. #2
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Sửa lại chút cho bạn:
    Visual C# Code:
    1. private void bLoad_Click(object sender, EventArgs e)
    2.         {
    3.             m_WriteName = @"file.txt";
    4.             using (FileStream fs = File.Open(m_WriteName, FileMode.Open, FileAccess.Read))
    5.             {
    6.                 using (StreamReader sw = new StreamReader(fs))
    7.                 {
    8.                     sw.Read();
    9.                     textBox1.Text = sw.ToString();
    10.                 }
    11.             }
    12.         }
    Không biết ghi gì luôn ...

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    21

    Thanks bạn nhiều nha! Mình đã chạy được rồi. Bạn cho mình hỏi thêm tí nha làm thế nào để đọc được dòng cuối cùng của file.txt hả bạn? giả sử file đó có từng dòng riêng biệt nhưng không biết số dòng.

    Mình nghĩ là phải dò kí tự xuống dòng "Enter ", nhưng mình không biết rỏ phải dùng như thế nào? Làm ơn chỉ giúp mình với, mới bắt đầu học C# thôi chưa rành lắm.

  4. #4
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    Dùng ReadLine hoặc ReadToEnd
    Visual C# Code:
    1. using System;
    2. using System.IO;
    3.  
    4. class Test
    5. {
    6.    
    7.     public static void Main()
    8.     {
    9.         string path = @"c:\temp\MyTest.txt";
    10.  
    11.         try
    12.         {
    13.             if (File.Exists(path))
    14.             {
    15.                 File.Delete(path);
    16.             }
    17.  
    18.             using (StreamWriter sw = new StreamWriter(path))
    19.             {
    20.                 sw.WriteLine("This");
    21.                 sw.WriteLine("is some text");
    22.                 sw.WriteLine("to test");
    23.                 sw.WriteLine("Reading");
    24.             }
    25.  
    26.             using (StreamReader sr = new StreamReader(path))
    27.             {
    28.                 //This allows you to do one Read operation.
    29.                 Console.WriteLine(sr.ReadToEnd());
    30.             }
    31.         }
    32.         catch (Exception e)
    33.         {
    34.             Console.WriteLine("The process failed: {0}", e.ToString());
    35.         }
    36.     }
    37. }

    Visual C# Code:
    1. using System;
    2. using System.IO;
    3.  
    4. class Test
    5. {
    6.    
    7.     public static void Main()
    8.     {
    9.         string path = @"c:\temp\MyTest.txt";
    10.         try
    11.         {
    12.             if (File.Exists(path))
    13.             {
    14.                 File.Delete(path);
    15.             }
    16.  
    17.             using (StreamWriter sw = new StreamWriter(path))
    18.             {
    19.                 sw.WriteLine("This");
    20.                 sw.WriteLine("is some text");
    21.                 sw.WriteLine("to test");
    22.                 sw.WriteLine("Reading");
    23.             }
    24.  
    25.             using (StreamReader sr = new StreamReader(path))
    26.             {
    27.                 while (sr.Peek() >= 0)
    28.                 {
    29.                     Console.WriteLine(sr.ReadLine());
    30.                 }
    31.             }
    32.         }
    33.         catch (Exception e)
    34.         {
    35.             Console.WriteLine("The process failed: {0}", e.ToString());
    36.         }
    37.     }
    38. }
    Cánh Chym ứ mỏi

  5. #5
    Ngày gia nhập
    11 2008
    Bài viết
    21

    Bạn ơi cho mình hỏi thêm cái này nha làm sao để lấy chỉ dòng cuối cùng của file .txt ra thôi vậy? Giả sử như mình có một file.txt có n dòng và mình muốn lấy dòng cuối cùng để cho hiển thị vào texBox thì làm sao hả bạn? Cảm ơn bạn nhiều nha!

  6. #6
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Mặc định Load file .txt

    Trích dẫn Nguyên bản được gửi bởi khoavl Xem bài viết
    Bạn ơi cho mình hỏi thêm cái này nha làm sao để lấy chỉ dòng cuối cùng của file .txt ra thôi vậy? Giả sử như mình có một file.txt có n dòng và mình muốn lấy dòng cuối cùng để cho hiển thị vào texBox thì làm sao hả bạn? Cảm ơn bạn nhiều nha!
    Theo ý của bạn, tớ có hai trường hợp và hai cách code để hiển thị lên TextBox dòng cuối cùng trong file .txt như sau:
    - Trường hợp 1: file .txt có định dạng như sau:

    Code:
    3
    hihihi
    hehehe
    hahaha
    *chú ý: dòng đầu tiên là số dòng tương ứng tiếp theo
    Visual C# Code:
    1. String m_WriteName = @"E:\Temp.txt";
    2.             using (FileStream fs = File.Open(m_WriteName, FileMode.Open, FileAccess.Read))
    3.             {
    4.                 using (StreamReader sw = new StreamReader(fs))
    5.                 {
    6.                     int sodong=int.Parse(sw.ReadLine().ToString());
    7.                     for(int i=1;i<=sodong;i++)
    8.                         textBox1.Text=sw.ReadLine().ToString();
    9.                 }
    10.             }

    - Trường hợp 2:

    Code:
    hihihi
    hehehe
    hahaha
    
    
    *Chú ý: sau dòng "hahaha" có thêm các dòng trắng hoặc không đều được
    Visual C# Code:
    1. String m_WriteName = @"E:\Temp.txt";
    2.             using (FileStream fs = File.Open(m_WriteName, FileMode.Open, FileAccess.Read))
    3.             {
    4.                 using (StreamReader sw = new StreamReader(fs))
    5.                 {
    6.                     String temp="";
    7.                     while (!sw.EndOfStream)
    8.                     {
    9.                         temp=sw.ReadLine();
    10.                         if(temp!="") textBox1.Text=temp;
    11.                     }
    12.                 }
    13.             }
    Không biết ghi gì luôn ...

  7. #7
    Ngày gia nhập
    11 2008
    Bài viết
    21

    Cảm ơn bạn nhiều nha! hjj

  8. #8
    Ngày gia nhập
    03 2009
    Bài viết
    4

    Tiện đây các bạn cho mình hỏi với. Nếu mình có một file danhba.txt có nội dung
    Code:
    Nguyen van A: 0901234567
    Nguyen Van B: 0912345678
    Giờ mình cần đọc dữ liệu đó rồi hiển thị Danh bạ lên Form, với mỗi danh bạ thì lại có 1 radiobutton tương ứng hiển thị cả tên và số, nhưng khi check vào thì chỉ lấy số điện thoại rồi hiển thị lên textbox.
    Ai giúp mình giải quyết vấn đề này với, mình mới vọc C# dc vài hôm thôi.

  9. #9
    Ngày gia nhập
    03 2009
    Bài viết
    48

    Trích dẫn Nguyên bản được gửi bởi donglt Xem bài viết
    Tiện đây các bạn cho mình hỏi với. Nếu mình có một file danhba.txt có nội dung
    Code:
    Nguyen van A: 0901234567
    Nguyen Van B: 0912345678
    Giờ mình cần đọc dữ liệu đó rồi hiển thị Danh bạ lên Form, với mỗi danh bạ thì lại có 1 radiobutton tương ứng hiển thị cả tên và số, nhưng khi check vào thì chỉ lấy số điện thoại rồi hiển thị lên textbox.
    Ai giúp mình giải quyết vấn đề này với, mình mới vọc C# dc vài hôm thôi.
    Của bạn đây, demo ở dưới.
    Cách làm load file txt đưa vào 1 mảng trước. Sau đó tạo ra 1 mảng radio tương ứng rồi đặt vô form cũng như bắt sự kiện ...

    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Text;
    7. using System.Windows.Forms;
    8. using System.IO;
    9.  
    10. namespace Help1
    11. {
    12.     public partial class Form1 : Form
    13.     {
    14.         public Form1()
    15.         {
    16.             InitializeComponent();
    17.         }
    18.  
    19.         Linked.MangLienket temp = new Linked.MangLienket();
    20.         RadioButton[] rd;
    21.  
    22.         private void Form1_Load(object sender, EventArgs e)
    23.         {
    24.             String m_WriteName = @"G:\Temp.txt";
    25.             using (FileStream fs = File.Open(m_WriteName, FileMode.Open, FileAccess.Read))
    26.             {
    27.                 using (StreamReader sw = new StreamReader(fs))
    28.                 {
    29.                     while (!sw.EndOfStream)
    30.                     {
    31.                         temp.add(sw.ReadLine());
    32.                     }
    33.                 }
    34.             }
    35.             rd = new RadioButton[temp.count];
    36.             for (int i = 0; i < temp.count; i++)
    37.             {
    38.                 rd[i] = new RadioButton();
    39.                 rd[i].Width = 300;
    40.                 rd[i].Text = temp[i];
    41.                 rd[i].Location = new System.Drawing.Point(this.Width/4,i*30);
    42.                 this.rd[i].CheckedChanged += new System.EventHandler(this.radioButton1_CheckedChanged);
    43.                 panel2.Controls.Add(rd[i]);
    44.             }
    45.         }
    46.  
    47.         private void radioButton1_CheckedChanged(object sender, EventArgs e)
    48.         {
    49.             for (int i = 0; i < temp.count; i++)
    50.             {
    51.                 if (rd[i].Checked)
    52.                 {
    53.                     textBox1.Text = rd[i].Text.Split(':')[1].Trim();
    54.                 }
    55.             }
    56.         }
    57.     }
    58. }
    Attached Files Attached Files

  10. #10
    Ngày gia nhập
    03 2009
    Bài viết
    4

    @Unknown_Love: Cảm ơn bạn nhiều!

Các đề tài tương tự

  1. Trả lời: 4
    Bài viết cuối: 04-09-2013, 06:39 AM
  2. Trả lời: 3
    Bài viết cuối: 10-04-2013, 08:06 AM
  3. ADO.NET Gặp lỗi "Could not load file or assembly..." khi load Project trong C#.Cách giải quyết như thế nào ?
    Gửi bởi tranloanspkt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 01-12-2011, 09:33 AM
  4. load Usercontrol vào trang aspx nhưng mà ko load đc file CSS ?
    Gửi bởi tan408 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 09-11-2011, 12:21 AM
  5. Làm thế nào để load 1 file dll lúc load-time với lập trình MFC?
    Gửi bởi mfc trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 7
    Bài viết cuối: 19-01-2011, 04:04 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn