Working with files: Difference between revisions

From Computer Science Wiki
No edit summary
No edit summary
Line 3: Line 3:
We use files to store data. For example let us imagine you have a program that functions as a store inventory system. The program allows you to create, update, read and delete items from a store inventory. If you have no way of '''saving''' changes you've made, when you re-start your program, you will need to make all those changes again.  
We use files to store data. For example let us imagine you have a program that functions as a store inventory system. The program allows you to create, update, read and delete items from a store inventory. If you have no way of '''saving''' changes you've made, when you re-start your program, you will need to make all those changes again.  


File [[Inputs and outputs|I/O]] is the process of reading '''from a file'' and writing '''to a file'''. These don't happen at the same time (you can't read from a file and write to the same file at the same time).  
File [[Inputs and outputs|I/O]] is the process of reading '''from a file''' and writing '''to a file'''. These don't happen at the same time (you can't read from a file and write to the same file at the same time).  


Some programs '''only''' use files to create, read, update and delete data.  For example, if we had a program which managed store inventory, '''every time''' you made a change (creating a new item, reading an item, updating something about an item, deleting an item) a file would be updated. The advantage of this method is in the event of unexpected power loss, your data would be very safe. The disadvantage of this method is your program would be much slower and files can be corrupted.  
Some programs '''only''' use files to create, read, update and delete data.  For example, if we had a program which managed store inventory, '''every time''' you made a change (creating a new item, reading an item, updating something about an item, deleting an item) a file would be updated. The advantage of this method is in the event of unexpected power loss, your data would be very safe. The disadvantage of this method is your program would be much slower and files can be corrupted.  

Revision as of 12:03, 5 January 2020

Object-Oriented Programming[1]

We use files to store data. For example let us imagine you have a program that functions as a store inventory system. The program allows you to create, update, read and delete items from a store inventory. If you have no way of saving changes you've made, when you re-start your program, you will need to make all those changes again.

File I/O is the process of reading from a file and writing to a file. These don't happen at the same time (you can't read from a file and write to the same file at the same time).

Some programs only use files to create, read, update and delete data. For example, if we had a program which managed store inventory, every time you made a change (creating a new item, reading an item, updating something about an item, deleting an item) a file would be updated. The advantage of this method is in the event of unexpected power loss, your data would be very safe. The disadvantage of this method is your program would be much slower and files can be corrupted.

Some programs use internal data structures and then at certain moments save or read that data to a file. For example, if we had a program which managed store inventory, when we started our program the program would read the inventory from a file and put that data into a data structure like a list or dictionary. We could then create, read, update or delete items. When we were ready (for example, exiting the program), we could save those changes into a file. One advantage of this method is the program would be much faster once you had loaded the data in the file into a data structure. One disadvantage might be if you forget to save you would lose all the changes you made since your last save.


File input / output[edit]

File formats[edit]

XML[edit]

JSON[edit]

Plain Text[edit]

Helpful Links[edit]

References[edit]