Файлы C#

Mar 12, 2023 00:00 · 209 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);     
  }
}