Datei-E / A-Vorgänge

Wir benötigen Dateien, um die Ausgabe eines Programms zu speichern, wenn das Programm beendet wird. Mithilfe von Dateien können wir mit verschiedenen Befehlen in verschiedenen Sprachen auf verwandte Informationen zugreifen.

Hier ist eine Liste einiger Operationen, die für eine Datei ausgeführt werden können -

  • Neue Datei erstellen
  • Vorhandene Datei öffnen
  • Dateiinhalt lesen
  • Daten in einer Datei suchen
  • In eine neue Datei schreiben
  • Aktualisieren des Inhalts einer vorhandenen Datei
  • Eine Datei löschen
  • Eine Datei schließen

In eine Datei schreiben

Um Inhalte in eine Datei zu schreiben, müssen wir zuerst die erforderliche Datei öffnen. Wenn die angegebene Datei nicht vorhanden ist, wird eine neue Datei erstellt.

Mal sehen, wie man mit C ++ Inhalte in eine Datei schreibt.

Beispiel

#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; 
}

Note - -

  • fstream ist die Stream-Klasse, die zum Steuern von Lese- / Schreibvorgängen für Dateien verwendet wird.

  • ofstream ist die Stream-Klasse, die zum Schreiben von Inhalten in Dateien verwendet wird.

Mal sehen, wie man mit Erlang, einer funktionalen Programmiersprache, Inhalte in eine Datei schreibt.

-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").

Note - -

  • Um eine Datei zu öffnen, müssen wir verwenden, open(filename,mode).

  • Syntax zum Schreiben von Inhalten in eine Datei: write(filemode,file_content).

Output - Wenn wir diesen Code ausführen, wird "Inhalt in Datei schreiben" in die Datei geschrieben Tempfile.txt. Wenn die Datei bereits Inhalt enthält, wird dieser überschrieben.

Lesen aus einer Datei

Um aus einer Datei zu lesen, müssen wir zuerst die angegebene Datei in öffnen reading mode. Wenn die Datei nicht vorhanden ist, gibt die entsprechende Methode NULL zurück.

Das folgende Programm zeigt, wie der Inhalt einer Datei eingelesen wird 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; 
}

Es wird die folgende Ausgabe erzeugt -

Writing contents to file

Note- In diesem Programm haben wir eine Textdatei im Lesemodus mit „ios :: in“ geöffnet und ihren Inhalt dann auf dem Bildschirm gedruckt. Wir haben benutztwhile Schleife zum zeilenweisen Lesen des Dateiinhalts mithilfe der Methode „getline“.

Das folgende Programm zeigt, wie Sie denselben Vorgang mit ausführen Erlang. Hier werden wir die verwendenread_file(filename) Methode zum Lesen des gesamten Inhalts aus der angegebenen Datei.

-module(helloworld).  
-export([start/0]).   

start() ->  
   rdfile = file:read_file("Tempfile.txt"),  
   io:fwrite("~p~n",[rdfile]).

Es wird die folgende Ausgabe erzeugt -

ok, Writing contents to file

Löschen Sie eine vorhandene Datei

Wir können eine vorhandene Datei mithilfe von Dateivorgängen löschen. Das folgende Programm zeigt, wie eine vorhandene Datei gelöscht wirdusing 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; 
}

Es wird die folgende Ausgabe erzeugt -

file deleted successfully

Das folgende Programm zeigt, wie Sie denselben Vorgang in ausführen können Erlang. Hier werden wir die Methode verwendendelete(filename) um eine vorhandene Datei zu löschen.

-module(helloworld).  
-export([start/0]).   

start() ->  
   file:delete("Tempfile.txt").

Output - Wenn die Datei "Tempfile.txt" vorhanden ist, wird sie gelöscht.

Bestimmen der Größe einer Datei

Das folgende Programm zeigt, wie Sie die Größe einer Datei mit C ++ bestimmen können. Hier die Funktionfseek Setzt die dem Stream zugeordnete Positionsanzeige auf eine neue Position ftell Gibt die aktuelle Position im Stream zurück.

#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; 
}

Output - Wenn die Datei "Tempfile.txt" vorhanden ist, wird ihre Größe in Bytes angezeigt.

Das folgende Programm zeigt, wie Sie denselben Vorgang in Erlang ausführen können. Hier werden wir die Methode verwendenfile_size(filename) um die Größe der Datei zu bestimmen.

-module(helloworld).  
-export([start/0]).   

start() ->  
   io:fwrite("~w~n",[filelib:file_size("Tempfile.txt")]).

Output- Wenn die Datei "Tempfile.txt" vorhanden ist, wird ihre Größe in Bytes angezeigt. Andernfalls wird "0" angezeigt.