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

Đề tài: [C#] Đọc nhị phân trong file

  1. #1
    No Avatar
    anfan Khách

    Mặc định [C#] Đọc nhị phân trong file

    cho toi hỏi cách lưu trữ giá trị interger trong binary file.
    theo tôi biết thường thì C# dùng :

    inFile = new System.IO.FileStream(inputFileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
    binaryData = new Byte[inFile.Length];
    long bytesRead = inFile.Read(binaryData, 0, (int)inFile.Length);

    Như vậy nó đọc và lư trữ vao array byte. Nếu 1 chuong trinh yêu cầu tìm kiếm và xóa 1 số Interger (2 byte) trong bainary file thì dung cách nào?
    >> tôi có dùng cách này nhưng thấyko hay lắm cho kỹ thuật này :
    soint=sobyte[i]+ (sobyte[i+1] & 00ff)
    ??
    nhờ các bạn giú đõ!
    cám ơn nhiều!

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Sao không đọc nó rồi muốn xóa kiểu gì thì xóa (Đằng nào vẫn phải đọc nó trước mà). Đâu cần phải quan tâm tới nó ở dạng HEX hay BIN nhỉ?
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

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

    Trích dẫn Nguyên bản được gửi bởi anfan Xem bài viết
    Nếu 1 chuong trinh yêu cầu tìm kiếm và xóa 1 số Interger (2 byte) trong bainary file thì dung cách nào?
    Nếu tôi nhớ không nhầm thì số Interger trong C# có giá trị 32 bit (tức là nó đến 4 byte lận mà).
    <Có 1 giá trị khác int64 thì nó 8 bytes.>

  4. #4
    Ngày gia nhập
    10 2007
    Nơi ở
    HCMUNS
    Bài viết
    459

    Int16/32/64, long, Double ...trong file nhị phân đều được lưu dưới dạng nhị phân. Do đó khi đọc vào phải là Reader.ReadInt16(), Reader.ReadDouble(), ... Không đọc dưới dạng Reader.ReadBytes() !

    Nếu tôi nhớ không nhầm thì số Interger trong C# có giá trị 32 bit (tức là nó đến 4 byte lận mà).
    <Có 1 giá trị khác int64 thì nó 8 bytes.>
    Cái này thì tùy bạn ơi, Int16, Int32, Int64 đều có hết. Nếu xài int thì default là 32bits
    Keep moving forward!

    ... Retired ...

  5. #5
    Ngày gia nhập
    06 2007
    Nơi ở
    Hà Nội
    Bài viết
    361

    mấy bác mỗi người một phách biết đường nào mà lần Int kèm số bít là chỉ số nguyên int16 ,32 ,64 tương đương với short, int, long.
    Còn cái nhc1987 nói đọc như vậy là dùng binaryStream trên cơ sở nền stream nên mới đọc kiểu đó . Stream thường cũng có thể đọc được tất tần tật , thay thế cả StreamREader , hay writer (đọc file text) , mấy cái binaryStream và streamReader chỉ làm cho code đơn giản hơn thôi , một số thứ chỉ có stream mới đủ sức làm được .
    Bạn trên đầu kia nói đề thế thì chịu, chả biết nó đã sắp xếp hay chưa mà tìm
    Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/

    mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
    http://www.tinhte.vn/threads/691731/

  6. #6
    Ngày gia nhập
    11 2007
    Bài viết
    40

    Mặc định [C#] Đọc nhị phân trong file

    Uhm pác tienlbhoc nói đúng. Wên kô nói rõ
    Các tên short, int, long thực ra chỉ là các tên gọi của nó thôi. Thực chất nó sẽ được ánh xạ đến các kiểu tương ứng trong CTS Type (Common Type System) là System.Int16, System.Int32 và System.Int64.

    Còn mô hình của Stream thì chắc phải tham khảo thêm MSDN đã

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

  1. Trả lời: 3
    Bài viết cuối: 10-04-2013, 08:06 AM
  2. Giới thiệu cách chuyển File Ảnh thành file Video trong download proshow gold
    Gửi bởi thuhu0900x trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 3
    Bài viết cuối: 03-07-2012, 03:54 AM
  3. Đọc dữ liệu file midi dạng số HEX và lấy lời nhạc trong file ra file text
    Gửi bởi kimngockhtn_2007 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 29-06-2011, 04:40 PM
  4. File server để dùng ajax trong visual2010 là file gì, xử lý kết nối với SQLserver như thế nào?
    Gửi bởi lenamshenlong trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 9
    Bài viết cuối: 26-05-2011, 05:14 PM
  5. Làm sao để open file bằng cách double click vào file trong windows explorer?
    Gửi bởi Batchuoc_09 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 11
    Bài viết cuối: 18-07-2010, 01:12 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