> For the complete documentation index, see [llms.txt](https://comaqa.gitbook.io/java-automation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://comaqa.gitbook.io/java-automation/rabota-s-failami.md).

# Работа с файлами

Как известно всем программистам с давних времён, большинство программ не может выполнять свою работу, не имея доступа к внешним данным. Данные извлекаются из источника ***ввода***.Результат программы направляется на ***вывод***. На языке Java эти понятия определяются очень широко. Например, источником ввода или местом вывода может служить сетевое соединение, буфер памяти или файл на диске - всеми ими можно манипулировать при помощи классов ввода-вывода в Java. Хотя физически они совершенно различны, все эти устройства описываются единой абстракцией - ***потоком***.

Поток присоединён к физическому устройству при помощи системы ввода-вывода в Java. Все потоки ведут себя похоже, несморя на то, что физические устройства, к которым они присоединены, в корне отличаются.
