82 votes

Comment lire / écrire des fichiers dans .Net Core?

Quelles sont les options pour lire / écrire des fichiers dans .Net Core?

Je travaille sur ma première application .Net Core et je recherche des alternatives File.Read* / File.Write* ( System.IO de .Net ).

99voto

Leszek Repie Points 853

Paquet: System.IO.FileSystem

 System.IO.File.ReadAllText("MyTextFile.txt"); ?
 

36voto

Biesi Grr Points 438
FileStream fileStream = new FileStream("file.txt", FileMode.Open);
using (StreamReader reader = new StreamReader(fileStream))
{
    string line = reader.ReadLine();
}

En utilisant le Système.IO.FileStream et du Système.IO.StreamReader. Vous pouvez utiliser le Système.IO.BinaryReader ou Système.IO.BinaryWriter ainsi.

8voto

Chien Dang Points 75

Écrire:

 using (System.IO.StreamWriter file =
new System.IO.StreamWriter(System.IO.File.Create(filePath).Dispose()))
{
    file.WriteLine("your text here");
}
 

5voto

prashanth m Points 29

Utilisation:

 File.ReadAllLines("My textfile.txt");
 

Référence: https://msdn.microsoft.com/pt-br/library/s2tte0y1(v=vs.110).aspx

1voto

RotiBlata Points 1
     public static void Copy(String SourceFile, String TargetFile)
    {

        FileStream fis = null;
        FileStream fos = null;

            try
            {
                Console.Write("## Try No. " + a + " : (Write from " + SourceFile + " to " + TargetFile + ")\n");

                fis = new FileStream(SourceFile, FileMode.Open, FileAccess.ReadWrite);
                fos = new FileStream(TargetFile, FileMode.Create, FileAccess.ReadWrite);

                int intbuffer = 5242880;
                byte[] b = new byte[intbuffer];

                int i;
                while ((i = fis.Read(b, 0, intbuffer)) > 0)
                {
                    fos.Write(b, 0, i);
                }

                Console.Write("Writing file : " + TargetFile + " is successful.\n");

                break;
            }
            catch (Exception e)
            {
                Console.Write("Writing file : " + TargetFile + " is unsuccessful.\n");
                Console.Write(e);
            }
            finally
            {
                if (fis != null)
                {
                    fis.Close();
                }
                if (fos != null)
                {
                    fos.Close();
                }
            }
    }
 

Le code ci-dessus va lire un gros fichier et écrire dans un nouveau gros fichier. La valeur "intbuffer" peut être définie par multiple de 1024. Bien que le fichier source et le fichier cible soient ouverts, il lit le gros fichier par octets et écrit dans le nouveau fichier cible par octets. Il ne restera pas en mémoire.

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