Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Datei lesen

C#-Datei lesen

王林
王林Original
2024-09-03 15:05:22809Durchsuche

Das Ausführen von Dateioperationen ist ein wesentlicher Bestandteil des Programmiererlebens und alle Programmiersprachen bieten verschiedene Bibliotheken oder Funktionen, um dasselbe zu erreichen. Dasselbe kann in C# mithilfe der im File-Klassenanbieter verfügbaren Methoden durchgeführt werden. Im Allgemeinen erfolgt das Lesen aus einer Datei mit den beiden Methoden ReadAllText(file) und ReadAllLines(file), wobei „file“ die Datei bezeichnet, die gelesen werden muss. Dateien können mit dem Streamreader auch als Bytes gelesen werden. In diesem Artikel werden die verschiedenen Methoden, die in C# zum Lesen einer Datei verfügbar sind, im Detail behandelt, zusammen mit entsprechenden Beispielen.

Syntax:

ReadAllText() hat die folgende Syntax

public static string ReadAllText (String Path, System.Text.Encoding encoding)

ReadAllLines() hat die folgende Syntax

public static string ReadAllLines(String, Encoding)

Diese Methode liest alle in der Datei vorhandenen Zeilen, speichert sie dann in einem String und schließt dann die Datei.

Parameter der C#-Lesedatei

  • Pfad: Der Pfad enthält den Speicherort der Dateien. Diese Datei muss gelesen werden.
  • Kodierung: Dies gibt den Kodierungstyp der Datei an, dies ist optional.

Der Rückgabetyp dieser Methode ist eine Zeichenfolge, die den gesamten Inhalt der Datei enthält. Diese Methode ist im System.IO-Namespace verfügbar und die dieser Methode zugeordnete Assembly ist mscorlib.dll.

Ausnahmen im Zusammenhang mit ReadAllText() der ReadAllLines()-Methode:

  • Argumentausnahme: Dies tritt auf, wenn der Pfad keine Zeichen, Leerzeichen oder ungültige Zeichen enthält.
  • Argument-Null-Ausnahme: Dies tritt auf, wenn der Pfad null ist.
  • Ausnahme „Pfad zu lang“: Dies tritt auf, wenn der Pfad den tatsächlich vom System definierten Grenzwert überschreitet.
  • IO-Ausnahme: Wenn beim Öffnen der Datei ein Fehler auftritt, tritt diese Ausnahme auf.
  • Ausnahme bei nicht autorisiertem Zugriff: Dies tritt auf, wenn die angegebene Datei schreibgeschützt ist
  • Ausnahme „Datei nicht gefunden“: Dies tritt auf, wenn die Datei nicht am angegebenen Speicherort vorhanden ist.
  • Nicht unterstützte Ausnahme: Wenn der angegebene Pfad ein ungültiges Format hat, wird diese Ausnahme ausgelöst.
  • Sicherheitsausnahme: Wenn der Benutzer keinen Zugriff auf die Datei hat, wird diese Ausnahme ausgelöst.

Beispiele für C#-Lesedateien

Hier sind die folgenden Beispiele.

Beispiel Nr. 1 – Lesen einer Datei mit ReadAllText()

Code:

using System;
using System.IO;
using System.Text;
namespace ReadAllText
{
class Test
{
static void Main(string[] args)
{
var Fpath= @"C:\Vignesh\KB.txt";
string content = File.ReadAllText(Fpath, Encoding.UTF8);
Console.WriteLine(content);
}
}
}

Ausgabe:

C#-Datei lesen

Beispiel #2 – Lesen einer Datei mit ReadAllLines()

Code:

using System;
using System.IO;
using System.Text;
namespace ReadAllLines
{
class Test
{
static void Main(string[] args)
{
var inputfile = @"C:\Vignesh\append.txt";
string[] output = File.ReadAllLines(inputfile, Encoding.UTF8);
foreach (string op in output)
{
Console.WriteLine(op);
}
}
}
}

Ausgabe:

C#-Datei lesen

Beispiel #3 – Lesen einer Datei mit der Streamreader-Klasse

1. StreamReader.ReadToEnd(): Diese Methode wird verwendet, um die Datei von der aktuellen Position bis zum Ende des Streams zu lesen. Der entsprechende Namespace für diese Methode ist System.Io und die Assembly ist mscorblib.dll.

Syntax:

public override string ReadToEnd ();

Eingabeparameter: Diese Methode erfordert keine Eingabeparameter.

Rückgabe: Diese Methode gibt den Dateiinhalt als Stream aus. Wenn die aktuelle Position auf das letzte Zeichen der Datei festgelegt ist, wird ein leerer String zurückgegeben.

2. StreamReader.ReadLine(): Diese Methode liest die Zeichen aus dem aktuellen Stream und sendet die Daten als String an die Ausgabe. Der entsprechende Namespace für diese Methode ist System.Io und die Assembly ist mscorblib.dll.

Syntax:

public override string ReadLine();

Eingabeparameter: Diese Methode erfordert keine Eingabeparameter.

Rückgabe: Es wird die nächste Zeile zum aktuellen Stream zurückgegeben. Wenn sich der aktuelle Stream an der letzten Zeilenposition befindet, wird null zurückgegeben.

Code:

using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
var FP = @"C:\Vignesh\Names.txt";
using var fstre = new FileStream(FP, FileMode.Open, FileAccess.Read);
using var sree = new StreamReader(fstre, Encoding.UTF8);
string Fcontent = sree.ReadToEnd();
Console.WriteLine(Fcontent);
}
}

Ausgabe:

C#-Datei lesen

Code:

using System;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
var filpath = @"C:\Vignesh\TimerJob-2019-08-09.txt";
using var fstre = new FileStream(filpath, FileMode.Open, FileAccess.Read);
using var sreee = new StreamReader(fstre, Encoding.UTF8);
string cline = String.Empty;
while ((cline = sreee.ReadLine()) != null)
{
Console.WriteLine(cline);
}
}
}

Ausgabe:

C#-Datei lesen

Code:

using System;
using System.IO;
namespace testclass {
class Test {
string FPath = @ "C:\Vignesh\Script to 0365 connection.txt";
static void Main(string[] args)
{
//Check if file is there at the path
//ReadallOutput()
if (File.Exists(FPath)) {
string output = File.ReadAlloutput(FPath);
Console.WriteLine(output);
}
//Check if file is there at the path
if (File.Exists(FPath)) {
//ReadallLines()
string[] Flines = File.ReadAllFlines(FPath);
foreach(string line in Flines)
Console.WriteLine(line);
}
//Check if file is there at the path
if (File.Exists(FPath)) {
//using streamreader
using(StreamReader file = new StreamReader(FPath)) {
int counter = 0;
string lgth;
while ((lgth = file.ReadLine()) != null) {
Console.WriteLine(lgth);
counter++;
}
file.Close();
}
}
Console.ReadKey();
}
}
}

Ausgabe:

C#-Datei lesen

Beispiel #4 – Asynchrones Lesen einer Datei mit Streamreader

Code:

using System;
using System.IO;
using System.Text;
using System.Threading.Tasks;
class TestProgram
{
static async Task Main(string[] args)
{
var ip = @" C:\Vignesh\Patching\Patching Steps.txt";
using var fssss = new FileStream(ip, FileMode.Open, FileAccess.Read);
using var srrr = new StreamReader(fssss, Encoding.UTF8);
//Reading asynchronously
string op = await srrr.ReadToEndAsync();
Console.WriteLine(op);
}
}

Ausgabe:

C#-Datei lesen

Fazit

Daher wurde in dem Artikel ausführlich auf die Funktionalität zum Lesen von Dateien in c# eingegangen. Es wurden die verschiedenen Methoden erläutert, die zur Durchführung der Operation zur Verfügung stehen. Außerdem wurden verschiedene Parameter und Ausnahmen behandelt, die jeder Methode zugeordnet sind, und zusammen mit Beispielprogrammen ausführlich erläutert. Um detaillierter darauf einzugehen, empfiehlt es sich, Beispielprogramme zu schreiben und diese zu üben.

Das obige ist der detaillierte Inhalt vonC#-Datei lesen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Datensatz in C#Nächster Artikel:Datensatz in C#