Nel caso che dobbiamo gestire i file vcf, file dei contatti di Microsoft Outlook, tramite la creazione di una classe possiamo gestire il singolo contatto oppure tutti i file presenti in una cartella, il tutto nel linguaggio di programmazione C#.
Di seguito si riporta il frammento di codice della classe per la gestione dei file vcf.
C#
public class ContattiVcf
{
public string Nome { get; set; }
public string Email { get; set; }
public string Note { get; set; }
public
ContattiVcf(string percorsoNomeFile)
{
string[] lines =
File.ReadAllLines(percorsoNomeFile);
if (lines.Length >= 4)
{
Nome = lines.Where(p =>
p.Contains("FN:")).FirstOrDefault();
Nome = Nome?.Replace("FN:", "");
Email = lines.Where(p =>
p.Contains("EMAIL;PREF;INTERNET:")).FirstOrDefault();
Email = Email?.Replace("EMAIL;PREF;INTERNET:", "") ;
Note = lines.Where(p =>
p.Contains("NOTE;ENCODING=QUOTED-PRINTABLE:")).FirstOrDefault();
Note = Note?.Replace("NOTE;ENCODING=QUOTED-PRINTABLE:", "");
}
}
public List<ContattiVcf> Contatti(string percorsoFilesVcf)
{
List<ContattiVcf>
returnContatti = new List<ContattiVcf>();
try
{
foreach (string fileVcs in Directory.EnumerateFiles(percorsoFilesVcf))
{
ContattiVcf contatto = new ContattiVcf(fileVcs);
returnContatti.Add(contatto);
}
}
catch (Exception ex)
{
returnContatti = null;
}
return returnContatti;
}
}
Di seguito si riporta un frammento di codice di utilizzo.
C#
string percorso = @"C:\Downloads\contatti\contatti\Nomefile.vcf";
string soloPercorso = @"C:\Downloads\contatti\contatti\";
ContattiVcf contatto = new ContattiVcf(percorso);
Console.Write(contatto.Nome);
var Contatti =
contatto.Contatti(soloPercorso);