Нам нужны файлы для хранения результатов программы, когда программа завершается. Используя файлы, мы можем получить доступ к соответствующей информации, используя различные команды на разных языках.
Вот список некоторых операций, которые можно выполнять над файлом:
- Создание нового файла
- Открытие существующего файла
- Чтение содержимого файла
- Поиск данных в файле
- Запись в новый файл
- Обновление содержимого в существующий файл
- Удаление файла
- Закрытие файла
Запись в файл
Чтобы записать содержимое в файл, нам сначала нужно открыть нужный файл. Если указанный файл не существует, то будет создан новый файл.
Давайте посмотрим, как записать содержимое в файл, используя C ++.
пример
#include <iostream> #include <fstream> using namespace std; int main () { ofstream myfile; myfile.open ("Tempfile.txt", ios::out); myfile << "Writing Contents to file.\n"; cout << "Data inserted into file"; myfile.close(); return 0; }
Примечание —
-
fstream — это класс потока, используемый для управления операциями чтения / записи файла.
-
ofstream — это класс потока, используемый для записи содержимого в файл.
fstream — это класс потока, используемый для управления операциями чтения / записи файла.
ofstream — это класс потока, используемый для записи содержимого в файл.
Давайте посмотрим, как записать содержимое в файл, используя Erlang, который является функциональным языком программирования.
-module(helloworld). -export([start/0]). start() -> {ok, File1} = file:open("Tempfile.txt", [write]), file:write(File1,"Writting contents to file"), io:fwrite("Data inserted into file\n").
Примечание —
-
Чтобы открыть файл, который мы должны использовать, откройте (имя файла, режим) .
-
Синтаксис для записи содержимого в файл: write (filemode, file_content) .
Чтобы открыть файл, который мы должны использовать, откройте (имя файла, режим) .
Синтаксис для записи содержимого в файл: write (filemode, file_content) .
Вывод. Когда мы запустим этот код, «Запись содержимого в файл» будет записана в файл Tempfile.txt . Если файл имеет какой-либо существующий контент, то он будет перезаписан.
Чтение из файла
Для чтения из файла сначала необходимо открыть указанный файл в режиме чтения . Если файл не существует, его соответствующий метод возвращает NULL.
Следующая программа показывает, как читать содержимое файла в C ++ —
#include <iostream> #include <fstream> #include <string> using namespace std; int main () { string readfile; ifstream myfile ("Tempfile.txt",ios::in); if (myfile.is_open()) { while ( getline (myfile,readfile) ) { cout << readfile << '\n'; } myfile.close(); } else cout << "file doesn't exist"; return 0; }
Это даст следующий результат —
Writing contents to file
Примечание. В этой программе мы открыли текстовый файл в режиме чтения с помощью «ios :: in», а затем распечатали его содержимое на экране. Мы использовали цикл while для чтения содержимого файла построчно с помощью метода «getline».
Следующая программа показывает, как выполнить ту же операцию, используя Erlang . Здесь мы будем использовать метод read_file (filename), чтобы прочитать все содержимое из указанного файла.
-module(helloworld). -export([start/0]). start() -> rdfile = file:read_file("Tempfile.txt"), io:fwrite("~p~n",[rdfile]).
Это даст следующий результат —
ok, Writing contents to file
Удалить существующий файл
Мы можем удалить существующий файл, используя файловые операции. Следующая программа показывает, как удалить существующий файл с помощью C ++ —
#include <stdio.h> int main () { if(remove( "Tempfile.txt" ) != 0 ) perror( "File doesn’t exist, can’t delete" ); else puts( "file deleted successfully " ); return 0; }
Это даст следующий результат —
file deleted successfully
Следующая программа показывает, как вы можете выполнить ту же операцию в Erlang . Здесь мы будем использовать метод delete (имя файла), чтобы удалить существующий файл.
-module(helloworld). -export([start/0]). start() -> file:delete("Tempfile.txt").
Вывод. Если файл «Tempfile.txt» существует, он будет удален.
Определение размера файла
Следующая программа показывает, как вы можете определить размер файла с помощью C ++. Здесь функция fseek устанавливает индикатор позиции, связанный с потоком, на новую позицию, тогда как ftell возвращает текущую позицию в потоке.
#include <stdio.h> int main () { FILE * checkfile; long size; checkfile = fopen ("Tempfile.txt","rb"); if (checkfile == NULL) perror ("file can’t open"); else { fseek (checkfile, 0, SEEK_END); // non-portable size = ftell (checkfile); fclose (checkfile); printf ("Size of Tempfile.txt: %ld bytes.\n",size); } return 0; }
Вывод. Если файл «Tempfile.txt» существует, он покажет свой размер в байтах.
Следующая программа показывает, как вы можете выполнить ту же операцию в Erlang. Здесь мы будем использовать метод file_size (имя файла), чтобы определить размер файла.
-module(helloworld). -export([start/0]). start() -> io:fwrite("~w~n",[filelib:file_size("Tempfile.txt")]).
Вывод. Если файл «Tempfile.txt» существует, он покажет свой размер в байтах. В противном случае будет отображаться «0».