109 votes

Lire les fichiers d'un dossier présent dans le projet

J'ai un projet C# (application console Windows). J'ai créé un dossier nommé Données projet intérieur. Il y a deux fichiers texte dans le dossier Data.

Comment puis-je lire les fichiers texte du dossier "Data". J'ai essayé les choses suivantes.

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

Il affiche une erreur indiquant que le fichier n'a pas été trouvé.

J'ai vérifié certaines réponses de Stackoverflow postées auparavant et aucune d'entre elles ne fonctionne pour moi.

Comment puis-je procéder ? Merci !

1voto

Pour Xamarin.iOS, vous pouvez utiliser le code suivant pour obtenir le contenu du fichier si celui-ci existe.

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);
}

-1voto

Ris Points 7

Utilisez ce code pour lire tous les fichiers dans le dossier et les sous-dossiers également.

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;
    }
}

-1voto

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

-1voto

Cela m'a été utile, si vous utilisez la fonction

var dir = Directory.GetCurrentDirectory()

le chemin est au-delà du dossier actuel, il inclura ce chemin. \bin\debug Ce que je vous recommande, c'est d'utiliser l'option

string dir = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.FullName

puis imprimez la valeur du répertoire et vérifiez que le chemin vous donne

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X