Файлы C#

Mar 12, 2023 00:00 · 213 words · 1 minute read

Приклади роботи з бінарними та текстовими файлами C#

Способи створення: 🔗

FileStream(string filename, FileMode mode),
FileMode(Append,Create,CreateNew,Open,OpenOrCreate,Truncate)
File.Open(string file, FileMode mode),
File.OpenRead(string file), File.OpenWrite(string file);

Основні властивості: Length, Position

Основні методи:

CopyTo (Stream destination),
int Read(byte[] array, int offset, int count),
long Seek(long offset, SeekOrigin origin),
void Write(byte[] array, int offset, int count)
ValueTask WriteAsync(byte[] array, int offset, int count),
Task CopyToAsync(Stream destination)

Допоміжні класи: StreamReader та StreamWriter текст BinaryWriter, BinaryReader бінарні дані

SeekOrigin.Begin: початок файлу, SeekOrigin.End: кінець файлу, SeekOrigin.Current: поточна позиція у файлі
fstream.Seek(-5, SeekOrigin.End);

Способи використання: 🔗

try
{
     fstream =
new FileStream(@"f.dat",
FileMode.OpenOrCreate);
}
catch(Exception ex)
{
}
finally
{
     if (fstream! = null)
         fstream.Close();
}

або using

using (var fs =
   new FileStream(@"filePath",
   FileMode ..., FileAccess ...))

{

}

Робота з текстовими файлами 🔗

using System;
using System.Text;
using System.Threading.Tasks;
using System.IO;

FileStream fs =
new FileStream(@"ft.txt",
FileMode.OpenOrCreate, FileAccess.Write);
using (var sw = new StreamWriter(fs)){
     sw.WriteLine(@"text\file");
}
fs.Close();

using (var fsr =
        new FileStream(@"ft.txt", FileMode.Open,
        FileAccess.Read))
{
using (var sr = new StreamReader (fsr))
{
var str = sr.ReadLine();
Console.Write(str);
}
}

Робота з бінарними файлами 🔗

using (var fs = new FileStream(@"fb.bin", FileMode.OpenOrCreate, FileAccess.Write)){
   using (var bw = New BinaryWriter(fs))
  {
      bw.Write((int)200);
  }
}
using (var fs = File.OpenRead(@"fb.bin")){
   using (var br = New BinaryReader(fs)){
     var v = br.ReadInt32();
     Console.WriteLine(v);
   }
}