บทที่ 13 การจัดการไฟล์ (File Management)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Array ธนวัฒน์ แซ่ เอียบ. The concept of array อาเรย์ : กลุ่มของข้อมูลที่มีชนิดเดียวกันและถูก จัดเก็บเรียงลำดับต่อเนื่องกัน ตัวแปร x สามารถจัดเก็บค่ามากกว่า.
Advertisements

การเขียนคำสั่งควบคุม การทำงานขั้นพื้นฐาน
บทที่ 6 บทที่ 6 คำสั่งแก้ไขปัญหาแบบ เลือก (CONDITION)
บทที่ 5 การควบคุมทิศทางการทำงานของโปรแกรม
Operator of String Data Type
หน่วยที่ 3 ภาษาคำสั่งพื้นฐานที่ใช้เขียนโปรแกรม PLC
สื่อการสอนด้วยโปรมแกรม “Microsoft Multipoint”
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
1. Select query ใช้สำหรับดึงข้อมูลที่ต้องการ
บทที่ 11 การใช้งาน Namespace อาจารย์ชนิดา คำเพ็ง สาขาวิชาเทคโนโลยีสารสนเทศ คณะวิทยาศาสตร์ และเทคโนโลยี
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
Winrar โปรแกรมย่อไฟล์ หลายครั้งที่เมื่อเราโหลดข้อมูลมาจากเว็บไซต์ ต่างๆ แล้วไฟล์ที่ได้มีนามสกุลเป็น.rar ซึ่งเราต้อง นำไฟล์นั้นมาแตกออกเพื่อที่เราจะได้ข้อมูลจริงๆที่
หน่วยที่ 6 แถวลำดับ (Array)
ตัวแปร และชนิด ข้อมูล. ตัวแปร การกำหนดตัวแปรเป็นการใช้ ชื่อตัวแปรแทน ตำแหน่งบนหน่วยความจำ สำหรับเก็บ ข้อมูลระหว่างการ ประมวลผล ซึ่งอาจเป็นข้อมูลนำเข้า.
MEE 231 Computer Programming สัปดาห์ที่ 6 ภาษา C หลักการของโปรแกรม ชนิดของตัวแปร การดำเนินการ คำสั่งการรับค่าตัวแปร และการแสดงผล.
ARRAY & PRINTF สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
Intro Excel 2010 ข้อมูลจาก... ellession1.htm.
MTH 261 File Management. File Management File Management จะอธิบายเกี่ยวกับการเขียน ส่วนจัดการแฟ้มข้อมูล เราสามารถที่จะเขียน โปรแกรมเพื่อเรียกใช้แฟ้มข้อมูลที่เรามี
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
วิชาเทคโนโลยีสารสนเทศเพื่อชีวิต
Chapter 10 Data Files.
อาจารย์อภิพงศ์ ปิงยศ Lab 05 : Microsoft Excel (Part3) พท 260 เทคโนโลยีสารสนเทศและการสื่อสารทางการท่องเที่ยว อาจารย์อภิพงศ์ ปิงยศ.
เกม คณิตคิดเร็ว.
โครงสร้างโปรแกรมภาษา C
บทที่ 9 การออกแบบและเขียนโปรแกรมอย่างง่ายเพื่อ ประยุกต์ใช้ในธุรกิจ
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การติดต่อฐานข้อมูลและการแสดงผล
บทที่ 5 อินพุตและเอาต์พุต
โปรแกรมย่อย อาจารย์สมเกียรติ ช่อเหมือน
หน่วยการเรียนที่ 6 เรื่อง การจัดการฐานข้อมูลด้วย PHP Function
ครูวีรธรรม เทศประสิทธิ์ แผนกวิชาคอมพิวเตอร์ธุรกิจ
การประยุกต์ Logic Gates ภาค 2
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
การติดต่อฐานข้อมูลและการแสดงผล
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
BC320 Introduction to Computer Programming
หน่วยการเรียนที่ 4 เรื่อง การควบคุมทิศทางการทำงาน
QUEUE คิวจะมีโครงสร้างแบบเชิงเส้นเหมือน stack แต่แตกต่างตรงที่ queue มีตัวชี้ 2 ตัวคือ หัว(Head) และหาง(Tail) โดยการใส่ข้อมูลเข้าและนำข้อมูลออก จะมีลักษณะ.
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การติดต่อฐานข้อมูลและการแสดงผล
หลักการแต่ง คำประพันธ์ประเภท โคลง. หลักการแต่ง คำประพันธ์ประเภท โคลง.
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
Data storage II Introduction to Computer Science ( )
บริษัท พัฒนาวิชาการ (2535) จำกัด
บทที่ 9 การทำซ้ำ (Loop).
Week 5 C Programming.
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
Data storage II Introduction to Computer Science ( )
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
บทที่ 7 การประมวลผลอาร์เรย์
บทที่ 8 การแก้ไขข้อผิดพลาดโปรแกรม(Debugging)
สถาปัตยกรรมของฐานข้อมูล
OPERATOR ภาษาปาสคาล (Pascal)
2 โครงสร้างข้อมูลแบบสแตก (STACK).
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Chapter 3 : Array.
Array: One Dimension Programming I 9.
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
Decision: Single and Double Selection (if and if-else statement)
พอยเตอร์ #include <stdio.h> void main() { int age; int *pointer;
ใบสำเนางานนำเสนอ:

บทที่ 13 การจัดการไฟล์ (File Management) รายวิชา สธ 113 การออกแบบโปรแกรมทาง ธุรกิจเบื้องต้น อ.อภิพงศ์ ปิงยศ

Overview การจัดการไฟล์ ประเภทของไฟล์ พื้นฐานการทำงานกับไฟล์ การอ่านและเขียนเท็กซ์ไฟล์

การจัดการไฟล์ งานบางประเภทต้องมีการนำผลการทำงานของ โปรแกรมเก็บลงในหน่วยความจำสำรองใน รูปแบบไฟล์ เพื่อสามารถนำมาใช้ในภายหลังได้ สตรีม (Stream) เป็นหน่วยของข้อมูลที่เรียง ติดกัน ไฟล์จะติดต่อกับสตรีมเพื่อรับ-ส่งข้อมูล แบ่งเป็น 2 ประเภท คือ Text Stream จะเก็บข้อมูลเป็นรหัส ASCII Binary Stream จะเก็บข้อมูลในรูปแบบเลขฐานสอง

ลักษณะของ Stream ที่มีการเก็บข้อมูลแบบเรียงต่อกัน 1010001101000010000100001000011100001000101010 รหัส EOF (End of File)

ประเภทของไฟล์ มี 2 ประเภท คือ ไฟล์ตัวอักษร (Text File) ไฟล์ข้อมูล (Binary File)

Text File เป็นไฟล์ข้อความ ข้อมูลจะเก็บเป็นรหัส ASCII มีรหัสควบคุมใช้ในการขึ้นบรรทัดใหม่ หรือการ จบไฟล์ เป็นต้น สามารถใช้โปรแกรม Editor หรือ Notepad ใน การเปิดไฟล์ประเภทนี้ได้

ตัวอย่างของข้อมูลในรูปแบบ Stream และ Text File B ¬ 2 01000001 01000010 00001101 00110010  Stream AB 2 Text

Binary File เป็นไฟล์ที่เก็บข้อมูลเลขฐานสองของข้อมูลจริงๆ เช่น เลข 2 ในรหัสแอสกีจะเก็บเป็น 00110010 แต่ไฟล์ไบนารีจะเก็บค่าเลขฐานสองที่ มีค่าเท่ากับสองจริงๆ (00000010) ไม่สามารถใช้โปรแกรมเปิดไฟล์ประเภทนี้มาอ่าน ได้

การเก็บค่าแบบ Binary ประกาศ int x = 16706 แปลงเป็นเลขฐานสองขนาด 2 Bytes ได้เป็น 01000001 01000010 

พื้นฐานการทำงานกับไฟล์ ในการเขียนหรืออ่านไฟล์ จะต้องใช้ตัวแปรที่ เรียกว่า “File Pointer” File Pointer จะเป็นตัวบอกว่าตำแหน่งที่กำลัง ดำเนินการอยู่ชี้อยู่ที่ตำแหน่งใดของไฟล์ หากไม่มี File Pointer จะไม่สามารถกระทำการ ใดๆกับไฟล์ได้เลย

กระบวนการกระทำกับไฟล์ 1) เปิดไฟล์ เพื่อให้ระบบรู้ว่าต้องการติดต่อกับ ไฟล์ใด 2) กระทำการกับไฟล์ ทำการอ่านหรือเขียนข้อมูล 3) ปิดไฟล์ เป็นการบอกว่ากระทำการกับไฟล์นั้น เสร็จเรียบร้อยแล้ว

การเปิดไฟล์ จะใช้ฟังก์ชัน fopen() ที่อยู่ในไลบรารี stdio.h มีรูปแบบคือ File *fp; fp = fopen(filename, mode)

Mode ในฟังก์ชัน fopen Mode การทำงาน r เปิดเท็กซ์ไฟล์เพื่ออ่าน w สร้างเท็กซ์ไฟล์ใหม่เพื่อเขียน a เปิดเท็กซ์ไฟล์เพื่อเขียนข้อมูลต่อท้าย rb เปิดไบนารีไฟล์เพื่ออ่าน wb สร้างไบนารีไฟล์เพื่อเขียน ab สร้างไบนารีไฟล์เพื่อเขียนข้อมูลต่อท้าย r+ เปิดเท็กซ์ไฟล์เพื่ออ่านหรือเขียนทับไฟล์เก่า w+ เปิดเท็กซ์ไฟล์เพื่ออ่านหรือเขียนทับไฟล์เก่า หรือไฟล์ใหม่ a+ เปิดเท็กซ์ไฟล์เพื่ออ่านหรือเขียนต่อท้ายไฟล์เก่า หรือเขียนไฟล์ใหม่ r+b เปิดไบนารีไฟล์เพื่ออ่านหรือเขียนทับไฟล์เก่า w+b เปิดไบนารีไฟล์เพื่ออ่านหรือเขียนทับไฟล์เก่า หรือไฟล์ใหม่ a+b เปิดไบนารีไฟล์เพื่ออ่านหรือเขียนทับไฟล์เก่า หรือเขียนไฟล์ใหม่

การเขียนไฟล์ใหม่ File *fp; fp = fopen(“d:\\data.txt”, “w”); เป็นการเขียนไฟล์ใหม่ชื่อว่า data.txt โดยจะ จัดเก็บไฟล์เอาไว้ในไดร์ฟ D

การเปิดไฟล์เพื่ออ่านข้อมูล การเปิดอ่านไฟล์จะต้องมีการตรวจสอบก่อนว่ามี ไฟล์นั้นอยู่จริงหรือไม่ ถ้าไม่มีไฟล์หรือไม่ สามารถเปิดได้จะมีการส่งค่า NULL ออกมา ตัวอย่างการตรวจสอบการเปิดไฟล์ เช่น FILE *fp; if (fp = fopen(“D:\\myfile.txt”, “r”) == NULL) { printf(“Error opening file\n”); exit(1); }

การปิดไฟล์ จะใช้ฟังก์ชัน fclose() ในการปิดไฟล์ มีรูปแบบคือ fclose(fp);

การดำเนินการกับไฟล์ ฟังก์ชันสำหรับอ่านเขียนข้อมูลครั้งละไบต์ จะใช้ ฟังก์ชัน fgetc(fp) จะทำงานคล้ายกับ getchar() แต่จะ อ่านข้อมูลออกมาหนึ่งไบต์ จากตำแหน่งที่ไฟล์ พอยเตอร์ชี้อยู่ fputc(ch, fp) จะทำงานคล้ายกับฟังก์ชัน putchar() แต่จะเขียนข้อมูลหนึ่งไบต์ที่กำหนดใน ตัวแปร ch ลงไปในไฟล์ในตำแหน่งที่พอยเตอร์ชี้ อยู่

ตัวอย่างที่ 1 การเขียนตัวอักษรลงไฟล์จำนวน 4 ตัวอักษร

ตัวอย่างที่ 2 อ่านไฟล์ที่ได้จากการเขียนด้วยตัวอย่างที่ 1 มาแสดงผล

การวนลูปอ่านตัวอักษรทั้งหมดในไฟล์ หากมี Text File ที่เก็บตัวอักษรไว้เป็นจำนวน มาก และต้องการอ่านขึ้นมาแสดงผลทางจอภาพ จะใช้คำสั่ง fgetc() ร่วมกับลูป while ในการวน ลูป และตรวจสอบเงื่อนไขว่าเป็นจุดสิ้นสุดของ ไฟล์หรือยัง (End of File) ด้วยฟังก์ชัน feof(fp) char c; while(!feof(fp)) { c = fgetc(fp); printf(“%c”, c); }

การอ่านและเขียน Text File มีฟังก์ชันที่เกี่ยวกับการอ่าน-เขียนเท็กซ์ไฟล์ โดยเฉพาะอยู่ 4 ฟังก์ชัน คือ fputs(ข้อความ string, fp) ใช้เขียนสตริงที่อยู่ในตัว แปร *fgets(ตัวแปร string, length, fp) ใช้อ่านตัวอักษรมา เก็บไว้ในตัวแปรสตริง โดยจะอ่านตัวอักษรจำนวน เท่ากับ length หรือจนกว่าจะขึ้นบรรทัดใหม่ หรืออ่าน จนจบไฟล์ จึงจะหยุดอ่าน fprintf(fp, control_string) ทำงานเหมือนกับ printf() แต่จะใช้เฉพาะกับไฟล์เท่านั้น fscanf(fp, control_string) ทำงานเหมือนกับ scanf() แต่จะใช้เฉพาะกับไฟล์เท่านั้น

ตัวอย่างที่ 3 การใช้ fputs เพื่อเขียนสตริงลงในไฟล์