Outils pour utilisateurs

Outils du site


lang:csharp:readerwriter

Ceci est une ancienne révision du document !


Lecture de données binaire avec un StreamReader

Il faut utiliser stream.BaseLine. Ce n'est pas aussi pratique que le BinaryReader mais c'est déjà ça.

Lecture de 5 octets sous forme d'un string

byte[] lecture = new byte[5];
if (iStream.Read(lecture, 0, 5) != 5)
{
    throw new Exception();
}
string result = System.Text.Encoding.ASCII.GetString(lecture);

Apparemment, il n'y a pas besoin du caractère null en fin de tableau.

Remplacement dans un fichier via regex/pattern

Sans réfléchir :

File.WriteAllText("Fichier", Regex.Replace(File.ReadAllText("Fichier"), "Pattern", "Replacement"));

Méthode adaptable pour plusieurs remplacements :

private static void ReplaceTextInFile(string originalFile, string outputFile, string searchTerm, string replaceTerm)
{
    string tempLineValue;
    using (FileStream inputStream = File.OpenRead(originalFile) )
    {
        using (StreamReader inputReader = new StreamReader(inputStream))
        {
            using (StreamWriter outputWriter = File.AppendText(outputFile))
            {
                while(null != (tempLineValue = inputReader.ReadLine()))
                {
                    outputWriter.WriteLine(Regex.Replace(tempLineValue, searchTerm,replaceTerm));
                }
            }
        }
    }
}

Source, Archive

Ajout d'un texte à l'intérieur d'une fichier

Pas de méthode miracle malheureusement.

var sb = new StringBuilder();
using (var sr = new StreamReader("inputFileName"))
{
  string line;
  do
  {
    line = sr.ReadLine();
    sb.AppendLine(line);
  } while (!line.Contains("<Sim Properties>"));
 
  sb.Append(myText);
  sb.Append(sr.ReadToEnd());
}
 
using (var sr = new StreamWriter("outputFileName"))
{
  sr.Write(sb.ToString());
}

Source, Archive

Chargement d'un fichier texte en mémoire

  File.ReadAllLines(nomFichier, Encoding.GetEncoding(1252));

Création d'un fichier d'une taille précise

using (var fs = new FileStream("fichier", FileMode.Create, FileAccess.Write, FileShare.None))
{
  fs.SetLength(15021);
}

Source, Archive

lang/csharp/readerwriter.1494941329.txt.gz · Dernière modification : 2017/05/16 15:28 de root