Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

5.12 Επεξεργασία αρχείων στην γλώσσα C#

Η επεξεργασία αρχείων στη γλώσσα C# πραγματοποιείται με τη χρήση διάφορων κλάσεων και μεθόδων που παρέχονται από τη βιβλιοθήκη του .NET. Για την ανάγνωση και εγγραφή δεδομένων από αρχεία, μπορούμε να χρησιμοποιήσουμε τις κλάσεις StreamReader και StreamWriter.

Για να διαβάσουμε δεδομένα από ένα αρχείο, μπορούμε να δημιουργήσουμε ένα αντικείμενο της κλάσης StreamReader και να χρησιμοποιήσουμε τη μέθοδο ReadLine() για να διαβάσουμε κάθε γραμμή του αρχείου. Εδώ είναι ένα παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
using System;
using System.IO;
class Program
{
static void Main()
{
string filePath = "path/to/file.txt"; // Ορίζουμε μια μεταβλητή filePath και την αναθέτουμε με το διαδρομή του αρχείου που θέλουμε να διαβάσουμε
using (StreamReader reader = new StreamReader(filePath)) // Δημιουργούμε ένα αντικείμενο StreamReader για να διαβάσουμε το περιεχόμενο του αρχείου
{
string line; // Ορίζουμε μια μεταβλητή line για να αποθηκεύσουμε την κάθε γραμμή που διαβάζουμε
while ((line = reader.ReadLine()) != null) // Επαναλαμβάνουμε τη διαδικασία μέχρι να φτάσουμε στο τέλος του αρχείου
{
Console.WriteLine(line); // Εκτυπώνουμε την τρέχουσα γραμμή στην οθόνη
}
}
}
}
using System; using System.IO; class Program { static void Main() { string filePath = "path/to/file.txt"; // Ορίζουμε μια μεταβλητή filePath και την αναθέτουμε με το διαδρομή του αρχείου που θέλουμε να διαβάσουμε using (StreamReader reader = new StreamReader(filePath)) // Δημιουργούμε ένα αντικείμενο StreamReader για να διαβάσουμε το περιεχόμενο του αρχείου { string line; // Ορίζουμε μια μεταβλητή line για να αποθηκεύσουμε την κάθε γραμμή που διαβάζουμε while ((line = reader.ReadLine()) != null) // Επαναλαμβάνουμε τη διαδικασία μέχρι να φτάσουμε στο τέλος του αρχείου { Console.WriteLine(line); // Εκτυπώνουμε την τρέχουσα γραμμή στην οθόνη } } } }
using System;
using System.IO;

class Program
{
    static void Main()
    {
        string filePath = "path/to/file.txt"; // Ορίζουμε μια μεταβλητή filePath και την αναθέτουμε με το διαδρομή του αρχείου που θέλουμε να διαβάσουμε

        using (StreamReader reader = new StreamReader(filePath)) // Δημιουργούμε ένα αντικείμενο StreamReader για να διαβάσουμε το περιεχόμενο του αρχείου
        {
            string line; // Ορίζουμε μια μεταβλητή line για να αποθηκεύσουμε την κάθε γραμμή που διαβάζουμε

            while ((line = reader.ReadLine()) != null) // Επαναλαμβάνουμε τη διαδικασία μέχρι να φτάσουμε στο τέλος του αρχείου
            {
                Console.WriteLine(line); // Εκτυπώνουμε την τρέχουσα γραμμή στην οθόνη
            }
        }
    }
}

Ο παραπάνω κώδικας C# διαβάζει το περιεχόμενο ενός αρχείου κειμένου γραμμή προς γραμμή και το εκτυπώνει στην οθόνη.

Αρχικά, ορίζουμε τη μεταβλητή filePath και την αναθέτουμε με τη διαδρομή (path) του αρχείου που θέλουμε να διαβάσουμε.

Στη συνέχεια, χρησιμοποιούμε τη δομή using για να δημιουργήσουμε ένα αντικείμενο StreamReader, το οποίο χρησιμοποιείται για την ανάγνωση του αρχείου. Το using διασφαλίζει ότι οι πόροι που χρησιμοποιούνται από τον StreamReader θα απελευθερωθούν αυτόματα μετά το τέλος του block κώδικα.

Μέσα στην επαναληπτική δομή while, διαβάζουμε κάθε γραμμή του αρχείου χρησιμοποιώντας τη μέθοδο ReadLine() του StreamReader. Η ReadLine() επιστρέφει την επόμενη γραμμή του αρχείου ως μια συμβολοσειρά, και η μεταβλητή line αποθηκεύει την τρέχουσα γραμμή.

Στη συνέχεια, εκτυπώνουμε την τρέχουσα γραμμή χρησιμοποιώντας τη μέθοδο Console.WriteLine(), που εμφανίζει τη συμβολοσειρά στην κονσόλα.

Η διαδικασία αυτή επαναλαμβάνεται μέχρι να φτάσουμε στο τέλος

του αρχείου, δηλαδή όταν η ReadLine() επιστρέψει την τιμή null.

Έτσι, ο κώδικας εκτυπώνει όλες τις γραμμές του αρχείου κειμένου στην οθόνη.

Εδώ είναι ένα παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
using System;
using System.IO;
class Program
{
static void Main()
{
// Ορισμός του αρχείου προς εγγραφή
string filePath = "path/to/file.txt";
// Χρήση του "using" για να δημιουργήσουμε έναν StreamWriter και να τον αναθέσουμε στη μεταβλητή writer
// Ο StreamWriter θα διαχειριστεί αυτόματα το άνοιγμα και το κλείσιμο του αρχείου
using (StreamWriter writer = new StreamWriter(filePath))
{
// Εγγραφή κειμένου στο αρχείο
writer.WriteLine("Hello, World!");
writer.WriteLine("This is a sample line.");
}
}
}
using System; using System.IO; class Program { static void Main() { // Ορισμός του αρχείου προς εγγραφή string filePath = "path/to/file.txt"; // Χρήση του "using" για να δημιουργήσουμε έναν StreamWriter και να τον αναθέσουμε στη μεταβλητή writer // Ο StreamWriter θα διαχειριστεί αυτόματα το άνοιγμα και το κλείσιμο του αρχείου using (StreamWriter writer = new StreamWriter(filePath)) { // Εγγραφή κειμένου στο αρχείο writer.WriteLine("Hello, World!"); writer.WriteLine("This is a sample line."); } } }
using System;
using System.IO;

class Program
{
    static void Main()
    {
        // Ορισμός του αρχείου προς εγγραφή
        string filePath = "path/to/file.txt";

        // Χρήση του "using" για να δημιουργήσουμε έναν StreamWriter και να τον αναθέσουμε στη μεταβλητή writer
        // Ο StreamWriter θα διαχειριστεί αυτόματα το άνοιγμα και το κλείσιμο του αρχείου
        using (StreamWriter writer = new StreamWriter(filePath))
        {
            // Εγγραφή κειμένου στο αρχείο
            writer.WriteLine("Hello, World!");
            writer.WriteLine("This is a sample line.");
        }
    }
}

Ο παραπάνω κώδικας σε C# πραγματοποιεί την εγγραφή κειμένου σε ένα αρχείο. Ακολουθεί μια περιγραφή του κώδικα:

  1. Ορίζεται η μεταβλητή filePath και αναθέτεται η τιμή “path/to/file.txt”, η οποία αντιπροσωπεύει τη διαδρομή του αρχείου που θα δημιουργηθεί και εγγραφεί το κείμενο.
  2. Χρησιμοποιώντας τη δομή using, δημιουργείται ένα αντικείμενο StreamWriter με όνομα writer, το οποίο χρησιμοποιείται για την εγγραφή στο αρχείο. Η δομή using εξασφαλίζει ότι το αντικείμενο StreamWriter θα κλείσει αυτόματα μετά την ολοκλήρωση του μπλοκ κώδικα, ανεξαρτήτως εάν πραγματοποιηθεί εξαίρεση.
  3. Μέσα στο μπλοκ της using, χρησιμοποιώντας τον writer, γίνεται η εγγραφή του κειμένου στο αρχείο. Με την writer.WriteLine() γράφονται δύο γραμμές κειμένου στο αρχείο, “Hello, World!” και “This is a sample line.”

Ο κώδικας εγγράφει το κείμενο στο αρχείο που ορίζεται από την τιμή της μεταβλητής filePath. Ο αρχικός φάκελος από όπου θα δημιουργηθεί το αρχείο εξαρτάται από τη συγκεκριμένη τιμή που έχει οριστεί.

Αυτές είναι μερικές από τις βασικές λειτουργίες για την επεξεργασία αρχείων στη γλώσσα C#. Μπορούμε να κάνουμε πολλές άλλες ενέργειες, όπως ανάγνωση και εγγραφή δυαδικών δεδομένων, διαχείριση διαδρομών αρχείων, διαγραφή αρχείων κ.λπ. Η γλώσσα C# παρέχει μια πλούσια σειρά από εργαλεία για την επεξεργασία αρχείων και την ανταλλαγή δεδομένων με αρχεία.

Η κλάση File από το namespace System.IO μας επιτρέπει να εργαζόμαστε με αρχεία:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
using System.IO;
// Ελέγχουμε αν ένα αρχείο υπάρχει
bool fileExists = File.Exists("myfile.txt");
// Ανοίγουμε ένα αρχείο για ανάγνωση και διαβάζουμε το περιεχόμενό του
string content = File.ReadAllText("myfile.txt");
// Δημιουργούμε ένα νέο αρχείο και γράφουμε κείμενο μέσα σε αυτό
File.WriteAllText("newfile.txt", "Hello, World!");
// Προσθέτουμε περιεχόμενο σε ένα υπάρχον αρχείο
File.AppendAllText("existingfile.txt", "More text to add.");
// Αντιγράφουμε ένα αρχείο σε έναν νέο τοποθεσία
File.Copy("sourcefile.txt", "destinationfile.txt");
// Διαγράφουμε ένα αρχείο
File.Delete("fileToDelete.txt");
using System.IO; // Ελέγχουμε αν ένα αρχείο υπάρχει bool fileExists = File.Exists("myfile.txt"); // Ανοίγουμε ένα αρχείο για ανάγνωση και διαβάζουμε το περιεχόμενό του string content = File.ReadAllText("myfile.txt"); // Δημιουργούμε ένα νέο αρχείο και γράφουμε κείμενο μέσα σε αυτό File.WriteAllText("newfile.txt", "Hello, World!"); // Προσθέτουμε περιεχόμενο σε ένα υπάρχον αρχείο File.AppendAllText("existingfile.txt", "More text to add."); // Αντιγράφουμε ένα αρχείο σε έναν νέο τοποθεσία File.Copy("sourcefile.txt", "destinationfile.txt"); // Διαγράφουμε ένα αρχείο File.Delete("fileToDelete.txt");
using System.IO;

// Ελέγχουμε αν ένα αρχείο υπάρχει
bool fileExists = File.Exists("myfile.txt");

// Ανοίγουμε ένα αρχείο για ανάγνωση και διαβάζουμε το περιεχόμενό του
string content = File.ReadAllText("myfile.txt");

// Δημιουργούμε ένα νέο αρχείο και γράφουμε κείμενο μέσα σε αυτό
File.WriteAllText("newfile.txt", "Hello, World!");

// Προσθέτουμε περιεχόμενο σε ένα υπάρχον αρχείο
File.AppendAllText("existingfile.txt", "More text to add.");

// Αντιγράφουμε ένα αρχείο σε έναν νέο τοποθεσία
File.Copy("sourcefile.txt", "destinationfile.txt");

// Διαγράφουμε ένα αρχείο
File.Delete("fileToDelete.txt");

Στο παραπάνω παράδειγμα, χρησιμοποιούμε την κλάση File για να εκτελέσουμε διάφορες λειτουργίες σε αρχεία. Χρησιμοποιούμε τις μεθόδους της κλάσης File, όπως Exists, ReadAllText, WriteAllText, AppendAllText, Copy και Delete, για να ελέγξουμε την ύπαρξη ενός αρχείου, να διαβάσουμε το περιεχόμενό του, να δημιουργήσουμε νέα αρχεία, να προσθέσουμε περιεχόμενο σε υπάρχοντα αρχεία, να αντιγράψουμε αρχεία και να διαγράψουμε αρχεία.

Σημειώστε ότι πρέπει να έχετε τη σωστή διαδρομή του αρχείου για να εκτελέσετε τις παραπάνω ενέργειες σε ένα αρχείο.

Η κλάση File περιέχει πολλές χρήσιμες μεθόδους για τη δημιουργία και τη λήψη πληροφοριών σχετικά με τα αρχεία. Αναφέρονται μερικές από αυτές:

Παρακάτω παρουσιάζονται οι μέθοδοι της κλάσης File με τις αντίστοιχες περιγραφές:

ΜέθοδοςΠεριγραφή
AppendText()Προσθέτει κείμενο στο τέλος ενός υπάρχοντος αρχείου
Copy()Αντιγράφει ένα αρχείο
Create()Δημιουργεί ή αντικαθιστά ένα αρχείο
Delete()Διαγράφει ένα αρχείο
Exists()Ελέγχει εάν το αρχείο υπάρχει
ReadAllText()Διαβάζει το περιεχόμενο ενός αρχείου
Replace()Αντικαθιστά το περιεχόμενο ενός αρχείου με το περιεχόμενο ενός άλλου αρχείου
WriteAllText()Δημιουργεί ένα νέο αρχείο και γράφει το περιεχόμενο σε αυτό. Αν το αρχείο υπάρχει, θα αντικατασταθεί.

Αυτές οι μέθοδοι σας δίνουν τη δυνατότητα να εκτελέσετε διάφορες ενέργειες σε αρχεία, όπως την προσθήκη κειμένου σε υπάρχον αρχείο, τη δημιουργία αντιγράφων αρχείων, τη δημιουργία νέων αρχείων, τη διαγραφή αρχείων, τον έλεγχο ύπαρξης αρχείων, την ανάγνωση του περιεχομένου αρχείων, την αντικατάσταση του περιεχομένου αρχείων και την εγγραφή περιεχομένου σε αρχεία.

[adinserter block=”2″]

Μπορείτε να χρησιμοποιήσετε αυτές τις μεθόδους για να επιτελέσετε τις ανάλογες εργασίες σε αρχεία, παρέχοντας τα απαραίτητα ορίσματα όπως τα ονόματα αρχείων και τα περιεχόμενα που θέλετε να εισαγάγετε ή να διαβάσετε.

Στο παρακάτω παράδειγμα, χρησιμοποιούμε τη μέθοδο WriteAllText() για να δημιουργήσουμε ένα αρχείο με το όνομα “filename.txt” και να γράψουμε κάποιο περιεχόμενο σε αυτό. Στη συνέχεια, χρησιμοποιούμε τη μέθοδο ReadAllText() για να διαβάσουμε το περιεχόμενο του αρχείου:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
using System.IO;
string content = "This is the content of the file.";
// Γράφουμε το περιεχόμενο σε ένα αρχείο
File.WriteAllText("filename.txt", content);
// Διαβάζουμε το περιεχόμενο από το αρχείο
string readContent = File.ReadAllText("filename.txt");
Console.WriteLine(readContent);
using System.IO; string content = "This is the content of the file."; // Γράφουμε το περιεχόμενο σε ένα αρχείο File.WriteAllText("filename.txt", content); // Διαβάζουμε το περιεχόμενο από το αρχείο string readContent = File.ReadAllText("filename.txt"); Console.WriteLine(readContent);
using System.IO;

string content = "This is the content of the file.";

// Γράφουμε το περιεχόμενο σε ένα αρχείο
File.WriteAllText("filename.txt", content);

// Διαβάζουμε το περιεχόμενο από το αρχείο
string readContent = File.ReadAllText("filename.txt");

Console.WriteLine(readContent);

Σε αυτό το παράδειγμα, δημιουργούμε μια μεταβλητή content που περιέχει το περιεχόμενο που θέλουμε να γράψουμε στο αρχείο. Χρησιμοποιούμε τη μέθοδο WriteAllText() της κλάσης File για να γράψουμε το περιεχόμενο στο αρχείο με το όνομα “filename.txt”.

Στη συνέχεια, χρησιμοποιούμε τη μέθοδο ReadAllText() για να διαβάσουμε το περιεχόμενο του αρχείου “filename.txt” και αποθηκεύουμε το αποτέλεσμα στη μεταβλητή readContent. Τέλος, εκτυπώνουμε το περιεχόμενο με τη χρήση της μεθόδου Console.WriteLine().

21 Αυγούστου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων