Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Xử lý tập tin trong Objective C

    Xin chào anh chị và các bạn, em mới học Objective C, có một chút vấn đề về việc đọc và xử lý tập tin (dạng text, dung lượng lớn (khoảng 15MB)). Mong anh chị giúp đỡ hoặc chỉ giúp tài liệu để tham khảo về vấn đề này.

    Vấn đề của em như thế này: Có hai tập tin (cơ sỡ dữ liệu của từ điển), tập tin thứ nhất chứa định nghĩa của từ cần tra. Tập tin thứ 2 có 3 cột, cách nhau một khoảng tab. Cột đầu tiên là từ ngữ cần tra, cột thứ 2 là địa chỉ offset của nghĩa của từ đó trong tập tin thứ 1, cột thứ 3 là độ dài của nghĩa của từ đó trong tập tin thứ 1. Giờ làm sao để:
    - Đọc tập tin thứ 2 lên và lấy được offset (cột thứ 2) và độ dài (cột thứ 3)?
    - Có được địa chỉ offset và độ dài rồi thì làm sao lấy được nghĩa của từ trong tập tin thứ nhất?

    Mong các anh chị gợi ý nên dùng các hàm như thế nào? Hoặc là có tài liệu nào về vấn đề xử lý tập tin thì share cho em với!!!

    Em cảm ơn nhiều!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hi bạn,

    Theo như hiểu biết của mình thì NSFileHandle giúp bạn thao tác với tập tin rất dễ dàng.
    https://developer.apple.com/library/...Reference.html

    1 số hàm bạn sẽ sử dụng:
    Mã:
    - (void)seekToFileOffset:(unsigned long long)offset //di chyển con trỏ đến offset
    - (NSData *)readDataOfLength:(NSUInteger)length //đọc từ offset hiện tại đến offset+length
    - (unsigned long long)offsetInFile //lấy vị trí offset của con trỏ
    Và bài này
    http://stackoverflow.com/questions/3...e-line-by-line

    Ý tưởng khi đọc từng dòng: đọc từng đoạn offset nhỏ, tìm ký tự trong nội dung vừa đọc lên sau đó lấy phần trước ký tự , đánh dấu lại currentOffset từ trở đi cho lần đọc tiếp theo.
    Còn đọc file thứ nhất dựa vào file thứ 2 thì càng dễ hơn nữa [IMG]images/smilies/smile.png[/IMG]

    Bạn cũng cần phải có 1 chút ít kiến thức về NSData, NSRange [IMG]images/smilies/smile.png[/IMG]

    Nếu có đoạn nào không hiểu thì pm yahoo/inbox mình, nếu có time mình sẽ support tận tình [IMG]images/smilies/smile.png[/IMG]

    Chúc bạn thành công !

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •