Haetaan asemat ja tulostetaan vapaana olevan tilan prosenttiosuus
foreach (DriveInfo drive in DriveInfo.GetDrives())
{
// asema on valmiina (esim. levykeasema ei saata olla)
if (drive.IsReady)
{
// lasketaan tyhjän tilan osuus
double free = (double)drive.AvailableFreeSpace / (double)drive.TotalSize * 100;
Console.WriteLine("{0}\t{1:0.00}% vapaana", drive.Name, free);
}
}
DriveInfo sisältää seuraavat ominaisuudet
Nimi | Sisältö |
---|---|
AvailableFreeSpace | Käytettävissä oleva tila |
DriveFormat | Formaatti (esim. NTFS tai FAT32) |
DriveType | Tyyppi (kiintolevy, CD-ROM, verkkolevy jne.) |
IsReady | Onko valmiina (levyke sisällä tms.) |
Name | Aseman tunnus (esim C:\) |
RootDirectory | Juurihakemisto (esim C:\) |
TotalFreeSpace | Vapaana oleva tila yhteensä |
TotalSize | Aseman koko |
VolumeLabel | Aseman nimi |
Listataan hakemistossa olevat mp3-tiedostot kummallakin tavalla
string hakemisto = @"D:\Musiikki";
// käyttäen Directory-luokan staattista metodia
foreach(string file in Directory.GetFiles(hakemisto,"*.mp3",SearchOption.AllDirectories))
{
FileInfo mp3 = new FileInfo(file);
Console.WriteLine(file.Name);
}
// käyttäen DirectoryInfon metodia
DirectoryInfo dir = new DirectoryInfo(hakemisto);
foreach (FileInfo mp3 in dir.GetFiles("*.mp3", SearchOption.AllDirectories))
{
Console.WriteLine(mp3.Name);
}
Hakemistojen käsittelyyn Directory- ja DirectoryInfo-luokista löytyvät metodit ja ominaisuudet
Tehtävä/tieto | Directory | DirectoryInfo |
---|---|---|
Nimi | Name FullName | |
Onko hakemisto olemassa | Exists() | Exists |
Luo hakemisto | CreateDirectory() | Create() CreateSubdirectory() |
Listaa alihakemistot | EnumerateDirectories() GetDirectories() | EnumerateDirectories() GetDirectories() |
Listaa tiedostot | EnumerateFiles() GetFiles() | EnumerateFiles() GetFiles() |
Ylähakemisto | GetParent() | Parent |
Siirrä hakemisto | Move() | MoveTo() |
Poista hakemisto | Delete() | Delete() |
Hakemiston attribuutit | Attributes | |
Luontiaika | GetCreationTime() SetCreationTime() GetCreationTimeUtc() SetCreationTimeUtc() | CreationTime CreationTimeUtc |
Muokkausaika | GetLastWriteTime() SetLastWriteTime() GetLastWriteTimeUtc() SetLastWriteTimeUtc() | LastWriteTime LastWriteTimeUtc |
Milloin viimeksi käytetty | GetLastAccessTime() SetLastAccessTime() GetLastAccessTimeUtc() SetLastAccessTimeUtc() | LastAccessTime LastAccessTimeUtc |
Tehtävä/tieto | File | FileInfo |
---|---|---|
Nimi | Name FullName | |
Koko | Length | |
Onko tiedosto olemassa | Exists() | Exists |
Luo tiedosto | Create() | Create() |
Kopioi tiedosto | Copy() | CopyTo() |
Hakemisto | Directory DirectoryName | |
Siirrä tiedosto | Move() | MoveTo() |
Poista tiedosto | Delete() | Delete() |
Korvaa tiedosto | Replace() | Replace() |
Attribuutit | GetAttributes() | Attributes |
Luontiaika | GetCreationTime() SetCreationTime() GetCreationTimeUtc() SetCreationTimeUtc() | CreationTime CreationTimeUtc |
Muokkausaika | GetLastWriteTime() SetLastWriteTime() GetLastWriteTimeUtc() SetLastWriteTimeUtc() | LastWriteTime LastWriteTimeUtc |
Milloin viimeksi käytetty | GetLastAccessTime() SetLastAccessTime() GetLastAccessTimeUtc() SetLastAccessTimeUtc() | LastAccessTime LastAccessTimeUtc |
Esim. luetaan tiedostosta kaikki rivit, muunnetaan kirjaimet isoiksi ja tallennetaan
string tiedosto = @"C:\tiedosto.txt";
// luetaan kaikki rivit
string[] rivit = File.ReadAllLines(tiedosto);
// muunnetaan isoiksi kirjaimiksi
for (int i = 0; i < rivit.Length; i++)
{
rivit[i] = rivit[i].ToUpper();
}
// kirjoitetaan kaikki rivit
File.WriteAllLines(tiedosto, rivit);
Metodit tiedostoon kirjoittamiseen
Nimi | Tehtävä |
---|---|
AppendAllLines() | Lisää rivit tiedostoon olemassa olevan sisällön jatkoksi |
AppendAllText() | Lisää tekstin tiedostoon olemassa olevan sisällön jatkoksi |
WriteAllBytes() | Kirjoittaa tavut tiedostoon (korvaa vanhan sisällön) |
WriteAllLines() | Kirjoittaa rivit tiedostoon (korvaa vanhan sisällön) |
WriteAllText() | Kirjoittaa tekstin tiedostoon (korvaa vanhan sisällön) |
Nimi | Tehtävä |
---|---|
ReadAllBytes() | Lukee kaikki tavut |
ReadAllLines() | Lukee kaikki rivit |
ReadAllText() | Lukee koko tekstin |
ReadLines() | Lukee rivit |