Tag Archives: NSFileManager

Objective-C Programming Chapter 11 (Part2)

NSString Path Category

คลาส NSString ที่เราคุ้นเคยนั้นมีแคทิกกอรี่เกี่ยวกับ path ชื่อว่า NSPathUtility ฟังก์ชั่นบางตัวเราที่เราได้เรียกใช้จากโปรแกรมทีผ่านๆมาก็เป็นส่วนหนึ่งของแคทิกกอรี่นี้เช่น NSHomeDirectory เป็นต้น ยังมีแคทิกกอรี่หลายตัวที่น่าสนใจดังโปรแกรมตัวอย่างต่อไปนี้
Program 11.4
Main.m

Continue reading Objective-C Programming Chapter 11 (Part2)

Objective-C Programming Chapter 11 (Part1)

File , Folder and data

ไฟล์เป็นส่วนสำคัญของโปรแกรม แทบจะทุกโปรแกรมต้องเกี่ยวข้องกับการอ่านหรือเขียนข้อมูลจากไฟล์  ในบทนี้เราจะได้เรียนรู้เกี่ยวกับการจัดการไฟล์และไดเรกทอรีหรือโฟลเดอร์ด้วย Foundation Framework ยกตัวอย่างเช่น การสร้างไฟล์ใหม่ การอ่านไฟล์ การเปลี่ยนชื่อไฟล์ เป็นต้น

File System Layout

เราควรจะทำความเข้าใจเบื้องต้นเกี่ยวกับโครงสร้างการจัดการไฟล์ก่อนที่จะไปใช้คลาสต่างๆที่เกี่ยวไฟล์ ในระบบ Mac OS X นั้น โครงสร้างของระบบไฟล์จะใช้ระบบการเช่นเดียวกันกับระบบปฎิบัติการที่มีพื้นฐานมาจาก Unix เช่น Free BSD หรือ Linux นั่นคือ มีลักษณะเหมือนรากของต้นไม้

ch11_1

โดยแบ่งออกเป็น 2 ส่วนใหญ่ๆด้วยกัน ส่วนแรก System Files คือไฟล์ของระบบปฎิบัติการ ในส่วนนี้ผู้ใช้งานทั่วๆไปไม่สามารถเข้าไปแก้ไขจัดการได้ ส่วนที่สองคือ User Files ซึ่งเป็นส่วนที่อนุญาติให้ผู้ใช้แต่ละคนสามารถจัดการไฟล์ต่างๆได้ด้วยตัวเอง ระบบปฎิบัติการจะแยกไฟล์ของผู้ใช้แต่ละคนออกจากกัน ซึ่งผู้ใช้แต่ละคนจะมี Home Directory เป็นของตัวเอง Continue reading Objective-C Programming Chapter 11 (Part1)

Ojective-C Programming – File Management

File

และแล้วก็เกือบมาถึง โค้งสุดท้ายแล้ว สำหรับ objective-c programming นั่นก็คือเรื่อง file นั่นเอง

สำหรับ file นั้นเราสามารถที่จะใช้ class ที่ชื่อว่า NSFileManger เพื่อทำการ copy , rename ได้และอื่นๆ การใช้งานก็เพียงแค่ทำการประกาศตัวแปร แบบ NFFileManager ขึ้นมา และทำการ alloc ด้วย defaultManager ดังตัวอย่างข้างล่าง

จากตัวอย่างข้างบน methode ที่เบื้องต้นเกียวกับ file ก็คือ

  • fileExistsAtPath
  • copyPath:toPath:  toPath:  handler:
  • movePath:toPath:  toPath:  handler:
  • contentsEqualAtPath:  andPath:
  • removeFileAtPath:  handler:
  • fileAttributesAtPath

ถ้าดูจากตัวอย่างข้างบนก็จะตรงตัวอยู่แล้วว่าแต่ละอย่างทำอะไร แต่จะมีแปลกหน่อยตรงที่ fileAttributesAtPath มันจะ ส่ง NSDictionary กลับมาให้ แล้วเราค่อย เรียก NSFileSize เพื่อหาค่าขนาดของไฟล์อีกที ( ถ้ายังไม่เข้าใจ NSDictionary กลับไปดูในบทก่อนๆได้ )

Directory

NSFileManager ยังมีฟังชั่นเกี่ยวกับ Directory ที่คล้ายๆกับ file นั่นก็คือ

  • createDirectoryAtPath: attributes:
  • movePath:  toPath:
  • changeCurrentDirectoryPath:

3 methode บ้างบนก็ทำหน้าที่คือ สร้าง , ลบ และ ทำการเปลี่ยน directory ที่กำลังใช้งาน

เพื่อความเข้าใจดู code ตัวอย่างง่ายกัน

จะเห็นว่าการใช้งานนั้นไม่ได้ยากเลย สำหรับการเขียนข้อมูล และการอ่านข้อมูลไฟล์ คงต่อในครั้งหน้า