как добавить внешние файлы данных в C # и получить к ним доступ относительно - PullRequest
0 голосов
/ 06 мая 2018

У меня есть проект в c #, в его решении уже есть папки с изображениями и видео. Я хочу знать, как это делается. так, например, я создаю новую папку для хранения некоторых файлов, и я могу получить к ним доступ только по их имени и, возможно, по имени папки, в которой они находятся в проекте, и сохраняя ее согласованной для версии отладки / выпуска. Я просто хочу добавить текстовый файл в папку, скажем, безопасность и просто получить доступ к файлу с относительным путем, а не абсолютным путем. может быть похож на этот, но это не очень помогает. Как добавить внешний файл в приложение C #?

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

Вы можете использовать классы Directory или DirectoryInfo . В моем примере я использую DirectoryInfo. .NET Framework 4.5 добавил метод EnumerateFiles, который имеет превосходную производительность по сравнению с GetFiles (как в ответе @ZohirSalak CeNa), поскольку он загружает не все файлы из каталога, а лениво один за другим.

static void ReadFolderFiles()
{
    // The parent folder of "my_folder" will be **exe**'s folder:
    var dir = new DirectoryInfo("my_folder\\sub_folder");
    // Or: DirectoryInfo("my_folder")
    foreach(FileInfo file in dir.EnumerateFiles())
    {
        System.Console.WriteLine(file.Name);
    }
}
0 голосов
/ 06 мая 2018

Прежде всего ваше приложение должно иметь эти папки в том же каталоге, что и .exe

Оттуда вы можете прочитать это так:

// This will return all the files Path from that exist in that directory
string[] list = Directory.GetFiles(@".\[directoryName]\");

// From there you can use this line to read the content of a certain file
// In this example i'm reading the first file
// You can use a loop to loop through the files
// There are lot of ways on how to read from a file, leave that for you to find out
File.ReadAllLines(list[0]) 
...