123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.IO;
- namespace EsercitazioneVerifica
- {
- static class GestioneFile
- {
- static string Path = @"c:\document\paperino\";
- static string NomeFile = "pluto.dat";
- static string Pathd = Path + NomeFile;
- static int[] Lunghezze = { 6, 6, 1, 4, 3,1 };
- static public void MakeDirectory()
- {
- try
- {
- Directory.CreateDirectory(Path);
- FileStream fs = File.Create(Pathd);
- fs.Close();
- }catch(IOException e)
- {
- Console.WriteLine(e.Message);
- }
- }
- static public void Scrivi(Studente s)
- {
- try
- {
- // creo delle variabili a cui convertitro i valori in stringa
- string Classe = s.Classe.ToString();
- string Anno_Nascità = s.Anno_nascita.ToString();
- char pippo = 'p';
- string record;
- if (s.Nome.Length > Lunghezze[0])
- {
- s.Nome = s.Nome.Remove(Lunghezze[0]);
- }
- if (s.Cognome.Length > Lunghezze[1])
- {
- s.Cognome = s.Cognome.Remove(Lunghezze[1]);
- }
- if (Classe.Length > Lunghezze[2])
- {
- Classe = Classe.Remove(Lunghezze[2]);
- }
- if (Anno_Nascità.Length > Lunghezze[3])
- {
- Anno_Nascità = Anno_Nascità.Remove(Lunghezze[3]);
- }
- if (s.Inidirizzo.Length > Lunghezze[4])
- {
- s.Inidirizzo = s.Inidirizzo.Remove(Lunghezze[4]);
- }
- // scrivo sul record
- record = s.Nome.PadRight(Lunghezze[0], ' ') + s.Cognome.PadRight(Lunghezze[1], ' ') + Classe.PadRight(Lunghezze[2], ' ') + Anno_Nascità.PadRight(Lunghezze[3], ' ') +
- s.Inidirizzo.PadRight(Lunghezze[4], ' ') + pippo + System.Environment.NewLine;
- StreamWriter sw = new StreamWriter(Pathd, true);
- sw.Write(record);
- sw.Close();
- }
- catch (IOException e)
- {
- Console.WriteLine(e.Message);
- }
- }
- static public List<Studente> Leggi()
- {
- try
- {
- List<Studente> studente = new List<Studente>();
- string record;
- string[] campi;
- StreamReader sr = new StreamReader(Pathd);
- while ((record = sr.ReadLine()) != null)
- {
- campi = RicavaCampi(record);
-
- studente.Add(new Studente(campi[0], campi[1], Convert.ToInt32(campi[2]), Convert.ToInt32(campi[3]), campi[4],'q'));
- }
- sr.Close();
- return studente;
- }
- catch (IOException e)
- {
- Console.WriteLine(e.Message);
- }
- return null;
- }
- static private string[] RicavaCampi(string record)
- {
- string[] campi = new string[Lunghezze.Length];
- int pos=0;
- int i = 0;
- int j = 0;
- do
- {
- campi[j] = record.Substring(pos, Lunghezze[i]).TrimEnd(' ');
- pos += Lunghezze[i];
- j++;
- i++;
- } while (i < Lunghezze.Length);
- return campi;
- }
- }
- }
|