# 11 - File I/O

## Persistence

Most of the programs we have seen so far are transient in the sense that they run for a short time and produce some output, but when they end, their data disappears. If you run the program again, it starts with a clean slate.

Other programs are **persistent**: they run for a long time (or all the time); they keep at least some of their data in permanent storage (a hard drive, for example); and if they shut down and restart, they pick up where they left off.&#x20;

Examples of persistent programs are operating systems, which run pretty much whenever a computer is on, and web servers, which run all the time, waiting for requests to come in on the network.&#x20;

One of the simplest ways for programs to maintain their data is by reading and writing text files. Text files are a fundamental data storage and communication medium in computer science. These files contain human-readable text in the form of characters and are widely used for various purposes, ranging from data storage and configuration to data interchange.

{% embed url="https://youtu.be/OJu9Ecdz_HE" %}
