Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- namespace Streams_A
- {
- class Program
- {
- static void Main(string[] args)
- {
- using (FileStream f = new FileStream("immagine.bmp", FileMode.Open, FileAccess.ReadWrite))
- {
- Console.WriteLine(f.Length);
- Console.WriteLine($"Leggibile {f.CanRead}");
- Console.WriteLine($"Scrivibile {f.CanWrite}");
- Console.WriteLine($"Seekable {f.CanSeek}");
- Console.WriteLine($"Timeout {f.CanTimeout}");
- //string tipo_immagine = "";
- //byte[] buffer = new byte[2];
- //f.Read(buffer, 0, 2);
- //Console.WriteLine(System.Text.Encoding.UTF8.GetString(buffer, 0, 2));
- f.Seek(2, SeekOrigin.Current);
- byte[] dimensione_buffer = new byte[4];
- f.Read(dimensione_buffer, 0, 4);
- //if (BitConverter.IsLittleEndian)
- // Array.Reverse(dimensione_buffer); //Little / Big Endian ??
- UInt32 dimensione = BitConverter.ToUInt32(dimensione_buffer, 0);
- Console.WriteLine($"Dimensione letta direttamente dal file: {dimensione}");
- f.Seek(-4, SeekOrigin.Current);
- f.Read(dimensione_buffer, 0, 4);
- dimensione = BitConverter.ToUInt32(dimensione_buffer, 0);
- Console.WriteLine($"Dimensione letta direttamente dal file: {dimensione}");
- f.Seek(0, SeekOrigin.Begin);
- byte[] buffWrite = new byte[2] {(byte)'F', (byte)'C' };
- f.Write(buffWrite);
- f.Seek(0, SeekOrigin.Begin);
- byte[] buffRead = new byte[2];
- f.Read(buffRead);
- Console.WriteLine(System.Text.Encoding.UTF8.GetString(buffRead, 0, 2));
- f.Seek(0, SeekOrigin.Begin);
- buffRead = new byte[100000];
- int byteAvanzatiDaLeggere = 100000;
- int byteLetti = 0;
- while(byteAvanzatiDaLeggere>0)
- {
- int letti = f.Read(buffRead, byteLetti, byteAvanzatiDaLeggere);
- Console.WriteLine(letti);
- if (letti == 0) break;
- byteLetti += letti;
- byteAvanzatiDaLeggere -= letti;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement