Подтвердить что ты не робот

Чтение файлов из папки, присутствующей в проекте

У меня есть проект С# (консольное приложение Windows). Я создал папку с именем Данные внутри проекта. В папке "Данные" есть два текстовых файла.

Как читать текстовые файлы из папки "Данные". Я пробовал что-то ниже.

string[] files = File.ReadAllLines(@"Data\Names.txt")

Это ошибка в том, что файл не найден.

Я проверил несколько ранее поставленных ответов Stackoverflow, и ни один из них не работает для меня.

Как я могу продолжить? Спасибо!

4b9b3361

Ответ 1

ниже код должен работать:

string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Data\Names.txt");
string[] files = File.ReadAllLines(path);

Ответ 2

зависит от того, где находится папка с данными

Чтобы получить каталог, в котором находится файл .exe:

AppDomain.CurrentDomain.BaseDirectory

Чтобы получить текущий каталог:

Environment.CurrentDirectory

Затем вы можете объединить свой путь к каталогу (@"\Data\Names.txt")

Ответ 3

Если вам нужно получить все файлы в папке с именем "Данные" , просто введите код ниже

string[] Documents = System.IO.Directory.GetFiles("../../Data/");

Теперь "Документы" состоят из массива полного имени объекта из двух текстовых файлов в папке "Данные" "Данные" .

Ответ 4

У меня есть проект С# (консольное приложение Windows). Я создал папку с именем Images внутри проекта. Существует один файл ico, называемый MyIcon.ico. Я получил доступ к MyIcon.ico внутри папки "Картинки", как показано ниже.

this.Icon = new Icon(@"../../Images/MyIcon.ico");

Ответ 5

Скопируйте всегда в каталог вывода, затем попробуйте следующее:

 Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
 String Root = Directory.GetCurrentDirectory();

Ответ 6

Используйте этот код для чтения всех файлов в папке и вложенных папках также

class Program
{
    static void Main(string[] args)
    {

        getfiles get = new getfiles();
        List<string> files =  get.GetAllFiles(@"D:\Document");

        foreach(string f in files)
        {
            Console.WriteLine(f);
        }


        Console.Read();
    }


}

class getfiles
{
    public List<string> GetAllFiles(string sDirt)
    {
        List<string> files = new List<string>();

        try
        {
            foreach (string file in Directory.GetFiles(sDirt))
            {
                files.Add(file);
            }
            foreach (string fl in Directory.GetDirectories(sDirt))
            {
                files.AddRange(GetAllFiles(fl));
            }
        }
        catch (Exception ex)
        {

            Console.WriteLine(ex.Message);
        }



        return files;
    }
}

Ответ 7

Для Xamarin.iOS вы можете использовать следующий код, чтобы получить содержимое файла, если файл существует.

var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine(documents, "xyz.json");
if (File.Exists(filename))
{
var text =System.IO.File.ReadAllText(filename);
}

Ответ 8

string myFile= File.ReadAllLines(Application.StartupPath.ToString() + @"..\..\..\Data\myTxtFile.txt")