Dateiendung erkennen

Hallo,
Wie kann ich in einer Funktion die Endung einer Datei prüfen?
Programmiersprache ist egal.
Danke

Hallo

Dateiendung ist das, was nach dem letzten Punkt im Dateinamen steht.

Mehr kann ich dazu nicht sagen wenn keine Sprache angegeben ist.

Johannes

Ich möchte eigentlich testen können in einer Funktion(programmiersprache C#), wenn eine Datei existiert danach prüfen ob es eine XML-Datei ist.

Danke

Hallo!

Wenn es sich um C# handelt, dann stell’ Deine Frage halt bitte im entsprechenden .NET Brett…
Die Angabe „Programmiersprache ist egal“ im Ausgangsposting ist nämlich nicht sehr hilfreich - oder hättest Du mit der Antwort, wie das in Scheme oder BF geht, etwas anfangen können? :wink:

Gruß,
Martin

Ich möchte eigentlich testen können in einer
Funktion(programmiersprache C#), wenn eine Datei existiert
danach prüfen ob es eine XML-Datei ist.

Hallo n,

PS: ist dein wahrer Vorname so schlimm?

Ich kenne C,C# nicht.

Vielleicht gehts da so

If dir(„Pfad\Dateiname.xml“) „“ Then

aber viel Sinn macht das für mich nicht.

Beschreibe mal bitte genauer wie du an den Dateinamen kommst.
Und was noch wichtig wäre um dir helfen zu können.

Und wenn es um C# geht, warum fragst du nicht im C-Brett?

Gruß
Reinhard

Ich habe C# nur als beispiel genannt die Progrmmiersprache spiele für mich keine Rolle. Sie(Progrmmiersprache) sind alle ehe gleiche.

Mein Problem ist: kann ich überhaupt eine Funktion schreiben, die nichts von der Dateiname weißt und muss trotzdem die Dateiendung prüfen können?

Beispiel:

bool setInput(const QString &inputFile)
QFile file(inputFile);
QMessage msBox;

if(!file.open(QFile::ReadOnly | QFile::Text))
{
msBox.setText(„Cannot read File“);
}

if („Was soll ich hier schreiben zu prüfen die Dateiendung?“)
{
return true;
}
else return false;
}

Danke

2 Like

Hallo n,

sorry, ich kann dir da nicht helfen.

Mail bitte den hiesigen Mod oder das w-w-w Team an und bitte um Verschiebeung ins C#-Brett.

Sieht nach einem kleinen Problem aus, also kriegste da schnell entweder eine Antwort wie man es macht oder halt, nein das geht nicht.

Gruß
Reinhard

Hallo nguemmegne,

Mein Problem ist: kann ich überhaupt eine Funktion schreiben,
die nichts von der Dateiname weißt und muss trotzdem die
Dateiendung prüfen können?

Den Dateinamen musst Du schon wissen, wie soll sonst eine Dateiendung erkannt werden ohne Dateinamen. Aber in deinem Beispiel, wenn ich es richtig verstehe, wird der Dateiname ja übergeben = inputFile.
Für dein Problem brauchst Du die Klasse FileInfo aus SystemIO.
Geht etwa so

FileInfo inputFile = new FileInfo(Pfad\_zum\_File)
// Pfad\_zum\_File ist ein String
if (inputFile.Extension == ".txt")
{
mach was mit dem Textfile
}
else es ist kein Textfile
}

Ist aber ungetestet, das überlasse ich dir :wink:

Viele Grüße
Marvin

Hallo!

danach prüfen ob es eine XML-Datei ist.

Da würde ich eher den Anfang der Datei einlesen. Eine XML-Datei beginnt immer mit folgendem Tag <?xml version="1.0" ...?>. Wenn du das am Anfang der Datei findest, dann ist es mit ziemlicher Sicherheit eine XML Datei.

mfg
christoph