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/18 15:03] – [Ajout d'un texte à l'intérieur d'une fichier] : orthographe rootlang:csharp:readerwriter [2020/04/27 08:04] (Version actuelle) – Conversion de <note> vers <WRAP> root
Ligne 2: Ligne 2:
 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.
  
-=====BinaryWriter=====+=====BinaryReader / BinaryWriter=====
 <code csharp> <code csharp>
 using (BinaryWriter bw = new BinaryWriter(File.Open(fichier, FileMode.Open))) using (BinaryWriter bw = new BinaryWriter(File.Open(fichier, FileMode.Open)))
 </code> </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 16: 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 29: 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 41: 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}}
  
 +[[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===== =====Ajout d'un texte à l'intérieur d'un fichier=====
 Pas de méthode miracle malheureusement. Pas de méthode miracle malheureusement.
Ligne 70: 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 85: 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.1495112604.txt.gz · Dernière modification : 2017/05/18 15:03 de root