Outils pour utilisateurs

Outils du site


lang:csharp:readerwriter

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lang:csharp:readerwriter [2017/05/16 15:28] – Ajout de "Création d'un fichier d'une taille précise" rootlang:csharp:readerwriter [2020/04/27 08:04] (Version actuelle) – Conversion de <note> vers <WRAP> root
Ligne 1: Ligne 1:
 =====Lecture de données binaire avec un StreamReader===== =====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. Il faut utiliser ''stream.BaseLine''. Ce n'est pas aussi pratique que le ''BinaryReader'' mais c'est déjà ça.
 +
 +=====BinaryReader / BinaryWriter=====
 +<code csharp>
 +using (BinaryWriter bw = new BinaryWriter(File.Open(fichier, FileMode.Open)))
 +</code>
 +
 +Pour info, il est possible de faire un ''Seek'' au delà de la fin du fichier et d'écrire. La taille du fichier est automatiquement réajustée.
 +
 +''BaseStream.Length'' est automatiquement mis à jour sans avoir besoin d'appeler la méthode ''Flush''.
  
 =====Lecture de 5 octets sous forme d'un string===== =====Lecture de 5 octets sous forme d'un string=====
Ligne 11: Ligne 20:
 string result = System.Text.Encoding.ASCII.GetString(lecture); string result = System.Text.Encoding.ASCII.GetString(lecture);
 </code> </code>
-Apparemment, il n'y a pas besoin du caractère ''null'' en fin de tableau.+ 
 +Il n'y a pas besoin du caractère ''null'' en fin de tableau. 
 + 
 +<WRAP center round info 60%> 
 +Par contre, cette méthode crée un ''string'' qui contient des caractères ''null''. Pour s'en débarrasser, il peut être utile de faire un 
 +<code csharp> 
 +if (result.IndexOf('\0') != -1) 
 +
 +  result = result.Substring(0, result.IndexOf('\0')); 
 +
 +</code> 
 +</WRAP>
  
 =====Remplacement dans un fichier via regex/pattern===== =====Remplacement dans un fichier via regex/pattern=====
Ligne 24: Ligne 44:
 { {
     string tempLineValue;     string tempLineValue;
-    using (FileStream inputStream = File.OpenRead(originalFile) )+    FileStream inputStream = null; 
 +    try
     {     {
 +        inputStream = File.OpenRead(originalFile)
         using (StreamReader inputReader = new StreamReader(inputStream))         using (StreamReader inputReader = new StreamReader(inputStream))
         {         {
 +            inputStream = null;
             using (StreamWriter outputWriter = File.AppendText(outputFile))             using (StreamWriter outputWriter = File.AppendText(outputFile))
             {             {
Ligne 36: Ligne 59:
             }             }
         }         }
 +    }
 +    finally
 +    {
 +        if (inputStream != null)
 +            inputStream.Dispose();
     }     }
 } }
 </code> </code>
  
-[[http://stackoverflow.com/questions/1915632/open-a-file-and-replace-strings-in-c-sharp|Source]]{{ :lang:csharp:readerwriter:open_a_file_and_replace_strings_in_c_-_stack_overflow.maff |Archive}}+[[https://stackoverflow.com/questions/1915632/open-a-file-and-replace-strings-in-c-sharp|Open a file and replace strings in C# - Stack Overflow]] {{ :lang:csharp:readerwriter:open_a_file_and_replace_strings_in_c_-_stack_overflow_2020-04-27_7_57_16_am_.html |Archive du 16/12/2009 le 27/04/2020}}
  
-=====Ajout d'un texte à l'intérieur d'une fichier=====+[[https://rules.sonarsource.com/csharp/RSPEC-3966|Objects should not be disposed more than once]] {{ :lang:csharp:readerwriter:c_objects_should_not_be_disposed_more_than_once_2020-04-27_7_58_20_am_.html |Archive le 27/04/2020}} 
 +=====Ajout d'un texte à l'intérieur d'un fichier=====
 Pas de méthode miracle malheureusement. Pas de méthode miracle malheureusement.
 <code csharp> <code csharp>
Ligne 65: Ligne 94:
 </code> </code>
  
-[[http://stackoverflow.com/questions/14290642/how-to-insert-lines-into-the-middle-of-a-text-file#comment19846546_14290642|Source]]{{ :lang:csharp:readerwriter:c_-_how_to_insert_lines_into_the_middle_of_a_text_file_-_stack_overflow.maff |Archive}}+[[https://stackoverflow.com/questions/14290642/how-to-insert-lines-into-the-middle-of-a-text-file|c# - How to insert lines into the middle of a text file_ - Stack Overflow]] {{ :lang:csharp:readerwriter:c_-_how_to_insert_lines_into_the_middle_of_a_text_file_-_stack_overflow_2020-04-27_7_57_24_am_.html |Archive du 12/01/2013 le 27/04/2020}}
  
 =====Chargement d'un fichier texte en mémoire===== =====Chargement d'un fichier texte en mémoire=====
Ligne 80: Ligne 109:
 </code> </code>
  
-[[http://stackoverflow.com/questions/8416413/create-new-file-with-specific-size|Source]]{{ :lang:csharp:readerwriter:c_-_create_new_file_with_specific_size_-_stack_overflow.maff |Archive}}+[[https://stackoverflow.com/questions/8416413/create-new-file-with-specific-size|c# - Create new file with specific size - Stack Overflow]] {{ :lang:csharp:readerwriter:c_-_create_new_file_with_specific_size_-_stack_overflow_2020-04-27_7_57_33_am_.html |Archive du 07/12/2011 le 27/04/2020}}
lang/csharp/readerwriter.1494941329.txt.gz · Dernière modification : 2017/05/16 15:28 de root