Potrzebuję sposobu, aby uzyskać rozmiar pliku za pomocą C #, a nie rozmiar na dysku. Jak to jest możliwe?
Obecnie mam tę pętlę
foreach (FileInfo file in downloadedMessageInfo.GetFiles())
{
//file.Length (will this work)
}
Czy to zwróci rozmiar lub rozmiar na dysku?
Odpowiedzi:
FileInfo.Length
zwróci długość pliku, w bajtach (nie rozmiar na dysku), więc myślę, że tego właśnie szukasz.źródło
Jeśli masz już ścieżkę do pliku jako dane wejściowe, potrzebujesz takiego kodu:
źródło
FileInfo.Length
zrobi lewę (według MSDN it „[g] określa rozmiar bieżącego pliku w bajtach.”) Na MSDN znajduje się ładna strona na temat typowych zadań we / wy.źródło
MSDN FileInfo.Length mówi, że jest to „rozmiar bieżącego pliku w bajtach”.
Moje typowe wyszukiwanie w Google dla czegoś takiego to: msdn FileInfo
źródło
Zwraca długość zawartości pliku
źródło
Rozmiar na dysku może być inny, jeśli plik zostanie przeniesiony do innego systemu plików (FAT16, NTFS, EXT3 itp.)
Jak powiedzieli inni odpowiadający, da ci to rozmiar w bajtach, a nie rozmiar na dysku.
źródło
Właściwość Length klasy FileInfo zwraca rozmiar pliku (a nie rozmiar na dysku). Jeśli chcesz sformatowanego rozmiaru pliku (tj. 15 KB) zamiast długiej bajtu, możesz użyć CSharpLib , pakietu, który stworzyłem, który dodaje więcej funkcji do klasy FileInfo. Oto przykład:
źródło