Getfiles groote bestand omzetten naar mb

Status
Niet open voor verdere reacties.

ferentuske

Gebruiker
Lid geworden
5 okt 2013
Berichten
78
Deze code heb ik voor de grote van mijn bestandsgrootte op te vragen
maar dit komt in byte heb al van alles geprobeerd. Maar als ik hem naar double converteer werkt het niet
want als ik naar mb zou converteren dan zou ik natuurlijk ook graag een komma ertussen hebben.



Code:
FileSystemInfo[] filelist = di.GetFileSystemInfos();
            FileInfo[] fileInfo;
            fileInfo = di.GetFiles("*", SearchOption.AllDirectories);
            FileSizeFormatProvider sizeconv = new FileSizeFormatProvider();
            long size = Convert.ToInt64(fileInfo.Length);
           
           // double sizeMB = Convert.ToDouble(lblGroote.Content);

            
   
            
            
            for (int i = 0; i < fileInfo.Length; i++)
            {
                
               
                    
                    size += fileInfo[i].Length ;
                     lblGroote.Content = size;
                   
               
                }
 
Ik kan niet helemaal plaatsen waarom je een LONG size aanmaakt welk je vervolgens naar een INT cast met als parameter de lengte van het aantal bestanden.

Kun je niet zoiets doen?

Code:
long TotalBytes = 0;

foreach(FileInfo file in fileInfo)
{
        TotalBytes += file.length;
}

// vervolgens ga je die bytes omrekenen (er is vast wel een mooie functie voor te vinden mbv Google maar hier even de 'quick version'

long kb = TotalBytes / 1024;
long mb = kb / 1024;
long gb = mb / 1024;

// als je die berekening hebt gedaan kun je het format bepalen (zie onderstaande link voor format codes)
String.Format("{0:#,##0}", mb);

http://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx


Ik hoop dat je hier wat aan hebt. Ik heb de code niet getest en weet ook niet of de string.format weergeeft wat jij wil maar ik hoop dat de aanpak je op weg helpt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan