Lớp 45TH - ĐH Nha Trang

Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Lớp 45TH - ĐH Nha Trang

45TH Đại học Nha Trang - TRAO ĐỔI TIN TỨC, HỌC TẬP


3 posters

    Đọc file trong C#

    lovelylife
    lovelylife
    Admin
    Admin


    Tổng số bài gửi : 108
    Age : 39
    Registration date : 22/05/2007

    Đọc file trong C# Empty Đọc file trong C#

    Bài gửi  lovelylife Wed May 23, 2007 10:26 pm

    Gởi Hiếu,
    Đây là đoạn code đọc file có dạng ma trận như Hiếu đã nói
    public void docfile(string fname,ref int N, ref int[,]A) {
    StreamReader Reader = new StreamReader(fname);
    N =
    int.Parse(Reader.ReadLine());
    A =
    new int[N, N];
    for (int i = 0; i < N; i++) {
    string Line = Reader.ReadLine();
    string[] G = Line.Split(new char[] { ' ' });
    for (int j = 0; j < N; j++) {
    A[i, j] =
    int.Parse(G[j]);
    }
    }
    }
    Lớp này đọc trả về N kích thước ma trận, A là ma trận. Bạn nên khởi tạo N và ma trận trước khi sử dụng. Đây là code sử dụng lớp này.
    OpenFileDialog
    FI = new OpenFileDialog();
    if (FI.ShowDialog() == DialogResult.OK)
    {

    int N=1;
    int[,] A=new int[N,N];
    docfile(FI.FileName,ref N,ref A);
    System.
    Console.WriteLine(N);
    for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
    System.
    Console.Write(A[i, j].ToString()+" ");
    }
    System.
    Console.WriteLine();
    }
    System.
    Console.ReadLine();
    }
    Chúc bạn thành công !!!clown
    lovelylife
    lovelylife
    Admin
    Admin


    Tổng số bài gửi : 108
    Age : 39
    Registration date : 22/05/2007

    Đọc file trong C# Empty Re: Đọc file trong C#

    Bài gửi  lovelylife Thu May 31, 2007 5:23 pm

    lovelylife đã viết:Gởi Hiếu,
    Đây là đoạn code đọc file có dạng ma trận như Hiếu đã nói
    public void docfile(string fname,ref int N, ref int[,]A) {
    StreamReader Reader = new StreamReader(fname);
    N =
    int.Parse(Reader.ReadLine());
    A =
    new int[N, N];
    for (int i = 0; i < N; i++) {
    string Line = Reader.ReadLine();
    string[] G = Line.Split(new char[] { ' ' });
    for (int j = 0; j < N; j++) {
    A[i, j] =
    int.Parse(G[j]);
    }
    }
    }
    Lớp này đọc trả về N kích thước ma trận, A là ma trận. Bạn nên khởi tạo N và ma trận trước khi sử dụng. Đây là code sử dụng lớp này.
    OpenFileDialog
    FI = new OpenFileDialog();
    if (FI.ShowDialog() == DialogResult.OK)
    {

    int N=1;
    int[,] A=new int[N,N];
    docfile(FI.FileName,ref N,ref A);
    System.
    Console.WriteLine(N);
    for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
    System.
    Console.Write(A[i, j].ToString()+" ");
    }
    System.
    Console.WriteLine();
    }
    System.
    Console.ReadLine();
    }
    Chúc bạn thành công !!!clown
    Để đảm bảo đọc dữ liệu đúng và tránh nhiều khoảng trắng, trong thủ tục Line.Split(new char[] { ' ' }) ta thêm thuộc tính như sau:
    GT = Line.Split(
    new char[] {' '},StringSplitOptions.RemoveEmptyEntries );


    lehoangthanh
    lehoangthanh
    Admin
    Admin


    Tổng số bài gửi : 595
    Age : 44
    Registration date : 22/05/2007

    Đọc file trong C# Empty Re: Đọc file trong C#

    Bài gửi  lehoangthanh Thu May 31, 2007 7:17 pm

    Đây là cũng phương thức đọc file mà các bạn có thể tham khảo, theo mình thì đọc tương đối dễ hiểu hơn (Chú ý: Do hồi đó mình thử đọc file vào ma trận trọng số phục vụ Di truyền, nên các bạn có thể thay đổi lại tên mảng !). Đảm bảo chép vào là chạy liền.


    private void docfile()
    {
    string buffer;
    int hang = 0;
    string[] chuoi;
    char[] spliter = { };
    // Chuoi phan cach

    StreamReader taptin = File.OpenText("C:\\trongso.txt");
    while ((buffer = taptin.ReadLine())!= null)
    // Đọc "ào" 1 cái được 1 hàng, lưu trong chuỗi buffer
    {
    chuoi = buffer.Split(spliter);
    // Cắt chuỗi buffer theo những khoảng trắng (để lấy con số thôi !)
    for (int i = 0; i != 10; i++ ) matran_trongso[hang,i]= Convert.ToInt16(chuoi[i]);
    hang += 1;
    }
    taptin.Close();
    // Nen co.
    }


    Nhận xét: Theo mình biết thì trong C#, khi đọc từ file thì thường ta đổ "ào" 1 cái là được 1 dòng luôn ! Do đó mình mới cần đến thao tác Split để "cắt" nhỏ lại những gì mình đã đọc. Đó cũng chính là ý tưởng của đoạn Code trên (kể cả đoạn Code của Thể)

    Chúc các bạn thành công
    avatar
    pnthieu910
    Beginning
    Beginning


    Tổng số bài gửi : 4
    Registration date : 24/05/2007

    Đọc file trong C# Empty Cảm ơn thể nhe

    Bài gửi  pnthieu910 Tue Jun 12, 2007 9:23 am

    Thể làm ơn gửi lai bài mô phỏng của thê lai cho tớ với nhé. cam ơn nhieu!
    lovelylife
    lovelylife
    Admin
    Admin


    Tổng số bài gửi : 108
    Age : 39
    Registration date : 22/05/2007

    Đọc file trong C# Empty Re: Đọc file trong C#

    Bài gửi  lovelylife Tue Jun 12, 2007 9:36 am

    pnthieu910 đã viết:Thể làm ơn gửi lai bài mô phỏng của thê lai cho tớ với nhé. cam ơn nhieu!
    http://files.myopera.com/SP_eleter/files/BaitapCSTSL-Nhom15.rar
    http://files.myopera.com/SP_eleter/files/1MinhHoa.rar

    Sponsored content


    Đọc file trong C# Empty Re: Đọc file trong C#

    Bài gửi  Sponsored content


      Hôm nay: Fri Nov 01, 2024 10:42 am