Wie um zu überprüfen, ob Datei existiert in einem Ordner in meinem Projekt in Visual Studio-Lösung
Ich habe einen Ordner erstellt in meinem Projekt. In meinem code möchte ich ermitteln, ob eine Datei in dem Ordner vorhanden ist. Wie kann ich das tun ?
----------
EDIT:
Ich werde versuchen, die Frage in einer anderen Weise.
Habe ich ein mvc 4 Projekt, das alle Autostart-Ordner : Controller, Views, Models etc. Ich habe einen anderen Ordner in meinem Projekt namens MyResources
. In diesem Ordner habe ich einige pdf-Dateien. In meinem Controller habe ich eine Logik, dass hat zu prüfen, ob der übergebene name der Datei vorhanden ist in den jeweiligen Ordner. Sagen wir, ich habe bestanden PassedFileName.pd
und ich möchte, um zu überprüfen, ob diese Datei verfügbar ist, in der MyResources
Ordner. Ich habe versucht mit dem System.IO.File.Exists(@"~/MyResources/PassedFileName.pdf")
aber es gibt immer false
.
Wenn ich mit der rechten Maustaste auf die Datei selbst( im Projektmappen-explorer) und schauen, was ist seine tatsächliche Pfad, der sagt: C:\(phisical-path-on-my-machine)\MyProjectName\Resources\ReturnHelpPdf.pdf
. Das macht mich denken, dass ich den Pfad zu meinem Projekt irgendwie, so kann ich string.Format
es. Ich hoffe, dass Sie verstehen, was sind meine Bedenken. Ich weiß, wie um zu überprüfen, ob Datei existiert auf dem Dateisystem. Aber hier muss ich prüfen, für etwas, was ich bin nicht vollständig sicher, ob ich die vollen Informationen über.
- Was wollen Sie tun, dass Sie wollen, dass Ihr code, um zu überprüfen Sie einen Ordner in Ihrem visuial studio-Projekt? Es sei denn, Sie sind schriftlich ein plugin für visual studio der code sollte sich nicht darum, wie das Projekt aussieht.
- Was hast du versucht?
- Wenn Ihr code ausgeführt wird, niemand weiß, was die Struktur Ihres Projekts. Sie können Sie also nicht. Wenn du redest, nur um zu überprüfen, Datei ist im Pfad oder nicht, es gibt schon so viele Antworten, die leicht zugänglich für Sie.
- Was ist das Projekt geben?
- Es ist MVC4-Projekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
var fileExists = File.Exists(path);
zu überprüfen, ob eine Datei existiert auf einem bestimmten Pfadwenn die Datei vorhanden ist, wird die variable
fileExists
wirdtrue
sonst ist esfalse
.Natürlich können Sie auch überprüfen, die direkt in einer if-Anweisung
Path.Combine
wie diese:var absolute_path = Path.Combine(prefix, relative path);
wenn Sie möchten, um den vollständigen Pfad mit dem "..." brach, verwenden SiePath.GetFullPath((new Uri(absolute_path)).LocalPath);
Können Sie
- Datei.Existiert
Methode Sie überprüfen, ob eine Datei vorhanden ist, die auf einem Pfad. Diese ist in denSystem.IO
namespace.Problem : müssen Sie die gültige
physical path
der Datei. um zu überprüfen, mitFile.Exists()
Methode.Lösung : müssen Sie die
Server.MapPath()
- Funktion, um die gültigenphysical Path
des gegebenenrelative path
.Versuchen Sie Dies:
Programmgesteuert können Sie die
System.IO.File.Exists()
oderSystem.IO.Directory.Exists()
MethodenUsualy Ordner innerhalb einer Visual Studio-Projektmappe, sind für die Organisation Zwecke, und Sie nicht im Dateisystem existieren. Seit der Visual Studio Solution-Datei hat XML) können Sie die Datei laden und mit XPath, finden Sie den Speicherort des Ordners, und wenn es alle Dateien in es.
Können Sie erstellen, die nur die Lösung, einen Ordner, und fügen Sie eine Datei hinzu, und überprüfen Sie in der XML wie Visual Studio speichern dieser Informationen.
Wenn Sie bereits wissen, den Namen der Datei, dann verwenden Sie
Wenn Sie möchten, um zu überprüfen, ob eine Datei existiert in dem Ordner, dann verwenden Sie
Zur Behebung des
~\
Pfad, den Sie verwenden müssen, um die Funktion HttpServerUtility.MapPath.Was
MapPath
zu tun ist, drehen Sie den~\
in den Weg, dass Ihr Projekt ist derzeit auf dem IIS-server.