SlideShare a Scribd company logo
CS215 - Lec 2   file organization
Introduction to file organization:
◦ What? Why? How?
File organization challenge
History of File organization
Streams operations
Dr. Hussien M. Sharaf 2
Dr. Hussien M. Sharaf 3
File organization : is rearranging data
structures and its operations in order to
enhance performance of data reading and
writing from and to secondary storage media
(disks).
Dr. Hussien M. Sharaf 4
Data structures
RAM/Main memory
Operations for
accessing data
File structures File processing
Secondary memory
(Disks)
Dr. Hussien M. Sharaf 5
File structures: is organization of data
representation on secondary devices such as
disks.
File processing (Streams Operations): The
processing (treatment) of data on secondary
devices such as disks. It involves transferring
data between secondary devices and RAM.
This will be built based on your knowledge of
Data Structures.
The study of file
organization and
processing is needed in
order to retrieve data from
secondary storage into
RAM so that programs can
process them.
The retrieval process must
be as fast as possible.
Dr. Hussien M. Sharaf 6
1. Minimize number of trips to the disk in
order to get desired information.
2. Grouping related information so that we
are likely to get everything we need with
only one trip to the disk (e.g. name, address,
phone number, account balance).
Dr. Hussien M. Sharaf 7
Dr. Hussien M. Sharaf 8
Dr. Hussien M. Sharaf 9
Reading/writing data is slow (since
electronic and mechanical)
Dr. Hussien M. Sharaf 10
Dr. Hussien M. Sharaf 11
Dr. Hussien M. Sharaf 12
ofstream: Stream class to write on files
ifstream: Stream class to read from files
fstream: Stream class to both read and
write from/to files.
Dr. Hussien M. Sharaf 13
ios::in Open for input operations.
ios::out Open for output operations.
ios::binary Open in binary mode.
ios::ate
Set the initial position at the end of the file.
If this flag is not set to any value, the initial position is the
beginning of the file.
ios::app
All output operations are performed at the end of the file,
appending the content to the current content of the file. This
flag can only be used in streams open for output-only
operations.
ios::trunc
If the file opened for output operations already existed
before, its previous content is deleted and replaced by the
new one.
Dr. Hussien M. Sharaf 14
ofstream myfile;
myfile.open ("example.bin", ios::out |
ios::app | ios::binary);
Dr. Hussien M. Sharaf 15
class default mode parameter
ofstream ios::out
ifstream ios::in
fstream ios::in | ios::out
ofstream myfile ("example.bin", ios::out |
ios::app | ios::binary);
Dr. Hussien M. Sharaf 16
if (myfile.is_open())
myfile << "This is a line.n";
myfile.close();
Check that the stream is
opened.
Write data into stream.
Close the stream and
hence the modifications are
saved into the file.
tellg() and tellp()
These two member functions return an integer
representing the current position of the get stream
pointer (in the case of tellg) or the put stream pointer
(in the case of tellp).
seekg(count, offset) and seekp(offset, direction)
These functions allow programmers to change the
position of the get and put stream pointers.
ios::beg offset counted from the beginning of the stream
ios::cur offset counted from the current position of the stream pointer
ios::end offset counted from the end of the stream
Dr. Hussien M. Sharaf 18
What does this program do?
- Obtain the size of a file
Check Examples 2.1 and 2.2
Write a program that generates a random array of 12
integers and then write each element into a new line in a
file “ArrayElem.txt”.
Send the source code project (after zipping it) to my email:
n.abdelhameed@fci-cu.edu.eg
Follow instructions made in the last page. Make sure to
send your ID. Students who don’t send their IDs clearly
will loose marks.
Dr. Hussien M. Sharaf 19
Check Examples 2.1 and 2.2 using VS2008 or VS2010
Write a program that reads a given number of lines from
“ArrayElem.txt” and displays them into one line
separated by comma “,”.
Send the source code project (after zipping it) to my email:
n.abdelhameed@fci-cu.edu.eg
Follow instructions made in the last page. Make sure to
send your ID. Students who don’t send their IDs clearly
will loose marks.
Dr. Hussien M. Sharaf 20
Next week is the deadline.
No excuses.
Don’t wait until last day.
I can help you to the highest limit within the next
3 days.
Dr. Hussien M. Sharaf 21
1. Delete the “bin” and “obj” folders.
2. Compress the solution folder using
winrar.
3. Rename the compressed file as follows:
StudentName_ID_A1.rar
StudentName_ID_A2.rar
4. Email to: n.abdelhameed@fci-cu.edu.eg
with your ID in the subject.
Dr. Hussien M. Sharaf 22
CS215 - Lec 2   file organization

More Related Content

PPT
File handling
PDF
File handling
PPTX
File handling
PDF
File handling in qbasic
PPT
Mesics lecture files in 'c'
PDF
Basics of files and its functions with example
PDF
8. file handling
File handling
File handling
File handling
File handling in qbasic
Mesics lecture files in 'c'
Basics of files and its functions with example
8. file handling

What's hot (20)

PPT
FILE HANDLING IN C++. +2 COMPUTER SCIENCE CBSE AND STATE SYLLABUS
PPTX
File Handling
DOCX
python file handling
PPTX
Python files / directories part15
PPTX
File management in C++
PDF
File operations
PDF
C++ Files and Streams
PPSX
Data recovery-software
PPTX
Data file handling in c++
PPT
Filehandlinging cp2
DOCX
File handling in c++
PPTX
Expediting MRSH-v2 Approximate Matching with Hierarchical Bloom Filter Trees
PPT
File structures
PPTX
Python files / directories part16
PPTX
Data file handling in python reading & writing methods
PDF
Filepointers1 1215104829397318-9
PPTX
Cs1123 10 file operations
PPTX
2CPP17 - File IO
FILE HANDLING IN C++. +2 COMPUTER SCIENCE CBSE AND STATE SYLLABUS
File Handling
python file handling
Python files / directories part15
File management in C++
File operations
C++ Files and Streams
Data recovery-software
Data file handling in c++
Filehandlinging cp2
File handling in c++
Expediting MRSH-v2 Approximate Matching with Hierarchical Bloom Filter Trees
File structures
Python files / directories part16
Data file handling in python reading & writing methods
Filepointers1 1215104829397318-9
Cs1123 10 file operations
2CPP17 - File IO
Ad

Viewers also liked (20)

PPT
Ie Storage, Multimedia And File Organization
PPTX
Disk structure & File Handling
PDF
Gps file structure explained
PDF
CS215 - Lec 9 indexing and reclaiming space in files
PDF
Discussion : File structure of Meteor Apps
PPTX
File Structure Concepts
PPTX
04.01 file organization
PPTX
register file structure of PIC controller
PDF
File organization and processing
PPT
Ch 1-final-file organization from korth
PPTX
Concept of computer files for Grade 12 learners
PPT
File organization techniques
PPTX
Handling computer files
PPT
File organization
PPT
File handling
PDF
File organisation
PPT
File organization 1
PPT
FILE STRUCTURE IN DBMS
PPTX
File Organization
PPT
File Management Presentation
Ie Storage, Multimedia And File Organization
Disk structure & File Handling
Gps file structure explained
CS215 - Lec 9 indexing and reclaiming space in files
Discussion : File structure of Meteor Apps
File Structure Concepts
04.01 file organization
register file structure of PIC controller
File organization and processing
Ch 1-final-file organization from korth
Concept of computer files for Grade 12 learners
File organization techniques
Handling computer files
File organization
File handling
File organisation
File organization 1
FILE STRUCTURE IN DBMS
File Organization
File Management Presentation
Ad

Similar to CS215 - Lec 2 file organization (20)

PDF
ExplanationThe files into which we are writing the date area called.pdf
PPTX
Filesin c++
PDF
chapter-12-data-file-handling.pdf
PPT
file_handling_in_c.ppt......................................
PPT
file_handling_in_c.pptbbbbbbbbbbbbbbbbbbbbb
PPT
new pdfrdfzdfzdzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggg...
PPT
File handling in_c
PDF
Data file handling
PPTX
File Management and manipulation in C++ Programming
PPT
Deletion of a Record from a File - K Karun
PPT
file_handling_in_c.ppt
PPT
File in cpp 2016
PPT
File handling in C++
PPTX
File handling for reference class 12.pptx
PPTX
Basics of file handling
PPTX
basics of file handling
PDF
File handling4.pdf
PPTX
Stream classes in C++
PPTX
Diploma ii cfpc- u-5.2 pointer, structure ,union and intro to file handling
PPTX
Chapter4.pptx
ExplanationThe files into which we are writing the date area called.pdf
Filesin c++
chapter-12-data-file-handling.pdf
file_handling_in_c.ppt......................................
file_handling_in_c.pptbbbbbbbbbbbbbbbbbbbbb
new pdfrdfzdfzdzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggg...
File handling in_c
Data file handling
File Management and manipulation in C++ Programming
Deletion of a Record from a File - K Karun
file_handling_in_c.ppt
File in cpp 2016
File handling in C++
File handling for reference class 12.pptx
Basics of file handling
basics of file handling
File handling4.pdf
Stream classes in C++
Diploma ii cfpc- u-5.2 pointer, structure ,union and intro to file handling
Chapter4.pptx

More from Arab Open University and Cairo University (20)

PDF
File Organization & processing Mid term summer 2014 - modelanswer
PDF
Model answer of compilers june spring 2013
PDF
Model answer of exam TC_spring 2013
PPTX
Theory of computation Lec6
PPTX
Theory of computation Lec3 dfa
PPTX
Theory of computation Lec2
PPTX
Theory of computation Lec1
PPTX
Theory of computation Lec7 pda
PPTX
PPTX
Cs419 lec8 top-down parsing
PPTX
Cs419 lec11 bottom-up parsing
PPTX
Cs419 lec12 semantic analyzer
PPTX
Cs419 lec9 constructing parsing table ll1
PPTX
Cs419 lec10 left recursion and left factoring
PPTX
Cs419 lec6 lexical analysis using nfa
PPTX
Cs419 lec5 lexical analysis using dfa
PPTX
Cs419 lec4 lexical analysis using re
File Organization & processing Mid term summer 2014 - modelanswer
Model answer of compilers june spring 2013
Model answer of exam TC_spring 2013
Theory of computation Lec6
Theory of computation Lec3 dfa
Theory of computation Lec2
Theory of computation Lec1
Theory of computation Lec7 pda
Cs419 lec8 top-down parsing
Cs419 lec11 bottom-up parsing
Cs419 lec12 semantic analyzer
Cs419 lec9 constructing parsing table ll1
Cs419 lec10 left recursion and left factoring
Cs419 lec6 lexical analysis using nfa
Cs419 lec5 lexical analysis using dfa
Cs419 lec4 lexical analysis using re

Recently uploaded (20)

PPTX
Cell Types and Its function , kingdom of life
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
RMMM.pdf make it easy to upload and study
PPTX
Cell Structure & Organelles in detailed.
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Sports Quiz easy sports quiz sports quiz
PPTX
master seminar digital applications in india
PDF
Complications of Minimal Access Surgery at WLH
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Insiders guide to clinical Medicine.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
GDM (1) (1).pptx small presentation for students
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
Cell Types and Its function , kingdom of life
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Basic Mud Logging Guide for educational purpose
Final Presentation General Medicine 03-08-2024.pptx
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
RMMM.pdf make it easy to upload and study
Cell Structure & Organelles in detailed.
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Sports Quiz easy sports quiz sports quiz
master seminar digital applications in india
Complications of Minimal Access Surgery at WLH
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
O5-L3 Freight Transport Ops (International) V1.pdf
Insiders guide to clinical Medicine.pdf
O7-L3 Supply Chain Operations - ICLT Program
GDM (1) (1).pptx small presentation for students
2.FourierTransform-ShortQuestionswithAnswers.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
TR - Agricultural Crops Production NC III.pdf

CS215 - Lec 2 file organization

  • 2. Introduction to file organization: ◦ What? Why? How? File organization challenge History of File organization Streams operations Dr. Hussien M. Sharaf 2
  • 3. Dr. Hussien M. Sharaf 3 File organization : is rearranging data structures and its operations in order to enhance performance of data reading and writing from and to secondary storage media (disks).
  • 4. Dr. Hussien M. Sharaf 4 Data structures RAM/Main memory Operations for accessing data File structures File processing Secondary memory (Disks)
  • 5. Dr. Hussien M. Sharaf 5 File structures: is organization of data representation on secondary devices such as disks. File processing (Streams Operations): The processing (treatment) of data on secondary devices such as disks. It involves transferring data between secondary devices and RAM. This will be built based on your knowledge of Data Structures.
  • 6. The study of file organization and processing is needed in order to retrieve data from secondary storage into RAM so that programs can process them. The retrieval process must be as fast as possible. Dr. Hussien M. Sharaf 6
  • 7. 1. Minimize number of trips to the disk in order to get desired information. 2. Grouping related information so that we are likely to get everything we need with only one trip to the disk (e.g. name, address, phone number, account balance). Dr. Hussien M. Sharaf 7
  • 8. Dr. Hussien M. Sharaf 8
  • 9. Dr. Hussien M. Sharaf 9
  • 10. Reading/writing data is slow (since electronic and mechanical) Dr. Hussien M. Sharaf 10
  • 11. Dr. Hussien M. Sharaf 11
  • 12. Dr. Hussien M. Sharaf 12
  • 13. ofstream: Stream class to write on files ifstream: Stream class to read from files fstream: Stream class to both read and write from/to files. Dr. Hussien M. Sharaf 13
  • 14. ios::in Open for input operations. ios::out Open for output operations. ios::binary Open in binary mode. ios::ate Set the initial position at the end of the file. If this flag is not set to any value, the initial position is the beginning of the file. ios::app All output operations are performed at the end of the file, appending the content to the current content of the file. This flag can only be used in streams open for output-only operations. ios::trunc If the file opened for output operations already existed before, its previous content is deleted and replaced by the new one. Dr. Hussien M. Sharaf 14
  • 15. ofstream myfile; myfile.open ("example.bin", ios::out | ios::app | ios::binary); Dr. Hussien M. Sharaf 15 class default mode parameter ofstream ios::out ifstream ios::in fstream ios::in | ios::out ofstream myfile ("example.bin", ios::out | ios::app | ios::binary);
  • 16. Dr. Hussien M. Sharaf 16 if (myfile.is_open()) myfile << "This is a line.n"; myfile.close(); Check that the stream is opened. Write data into stream. Close the stream and hence the modifications are saved into the file.
  • 17. tellg() and tellp() These two member functions return an integer representing the current position of the get stream pointer (in the case of tellg) or the put stream pointer (in the case of tellp). seekg(count, offset) and seekp(offset, direction) These functions allow programmers to change the position of the get and put stream pointers. ios::beg offset counted from the beginning of the stream ios::cur offset counted from the current position of the stream pointer ios::end offset counted from the end of the stream
  • 18. Dr. Hussien M. Sharaf 18 What does this program do? - Obtain the size of a file
  • 19. Check Examples 2.1 and 2.2 Write a program that generates a random array of 12 integers and then write each element into a new line in a file “ArrayElem.txt”. Send the source code project (after zipping it) to my email: n.abdelhameed@fci-cu.edu.eg Follow instructions made in the last page. Make sure to send your ID. Students who don’t send their IDs clearly will loose marks. Dr. Hussien M. Sharaf 19
  • 20. Check Examples 2.1 and 2.2 using VS2008 or VS2010 Write a program that reads a given number of lines from “ArrayElem.txt” and displays them into one line separated by comma “,”. Send the source code project (after zipping it) to my email: n.abdelhameed@fci-cu.edu.eg Follow instructions made in the last page. Make sure to send your ID. Students who don’t send their IDs clearly will loose marks. Dr. Hussien M. Sharaf 20
  • 21. Next week is the deadline. No excuses. Don’t wait until last day. I can help you to the highest limit within the next 3 days. Dr. Hussien M. Sharaf 21
  • 22. 1. Delete the “bin” and “obj” folders. 2. Compress the solution folder using winrar. 3. Rename the compressed file as follows: StudentName_ID_A1.rar StudentName_ID_A2.rar 4. Email to: n.abdelhameed@fci-cu.edu.eg with your ID in the subject. Dr. Hussien M. Sharaf 22