Comment créer une copie de fichier à l'aide de StreamReader et StreamWriter
J'ai besoin d'utiliser StreamReader pour lire un .fichier txt sur une application console, puis créer un nouveau fichier ou la sauvegarde avec un nom différent, mais même contenu. Le problème est que je ne peux pas comprendre comment utiliser le contenu à partir du premier fichier à placer dans le nouveau. (C'est pour une école de chose et im nouveau à C#)
using System;
using System.IO;
namespace UserListCopier
{
class Program
{
static void Main()
{
string fineName = "zombieList.txt";
StreamReader reader = new StreamReader(fineName);
int lineNumber = 0;
string line = reader.ReadLine();
while (line != null) {
lineNumber++;
Console.WriteLine("Line {0}: {1}", lineNumber, line);
line = reader.ReadLine();
}
StreamWriter writetext = new StreamWriter("zombieListBackup.txt");
writetext.Close();
System.Console.Read();
reader.Close();
}
}
}
Avez-vous exploré cette documentation msdn.microsoft.com/en-us/library/8bh11f1k.aspx ?
OriginalL'auteur claraichu | 2015-08-05
Vous devez vous connecter pour publier un commentaire.
Permet de considérer que vous avez ouvert deux volets, semblable @jeff solution, mais au lieu de ReadToEnd (pas vraiment à la vapeur de manière efficace), vous pourriez tampon de transfert.
_bufferSize est un int définir une taille de mémoire tampon qui vous convient (1024, quelle que soit 4096)
voici l'essentiel, contenant une classe qui calcule la vitesse de transfert
https://gist.github.com/dbones/9298655#file-streamcopy-cs-L36
OriginalL'auteur dbones
Ce qui fera:
OriginalL'auteur Jeff Prince
Pour les fichiers sur le disque, vous avez juste besoin
Fichier.Copier(inputPath, outputPath)
. Je ne suis pas certain que ce flux le contenu de manière efficace, ou si elle lit tous dans la mémoire et l'écrit tous d'un seul coup.Donc pour les gros fichiers, ou si vous avez un flux qui n'aboutit pas à un chemin d'accès sur le disque, vous pouvez efficacement copie de l'un à l'autre, en utilisant les fonctions suivantes:
Cette fonction copie à partir du flux d'entrée vers le flux de sortie d'une ligne à la fois jusqu'à ce que le flux d'entrée se termine. Cela signifie qu'il n'a qu'une ligne dans la mémoire à un moment (plutôt que l'ensemble du fichier) et qu'il peut commencer à écrire sur le disque avant que le premier volet a fini de le lire /générée.
OriginalL'auteur Martin Eden
OriginalL'auteur Sunny K Saini