Ich bin dabei eine Art explorer zu schreiben. Nun möchte ich natürlich auch die Größe des Files anzeigen. Aber bei fast allen Ordnern wird 0 zurück gegeben, obwohl, wenn ich sie öffne, viele Dateien drin sind... Auch sind die gelieferten Werte von Ordnern meist zu klein. Z. B. C:/Programme ist laut File.length() nur 12KB groß .
Was mich so verwundert ist, dass die Dateigrößen von Dateien richtig angezeigt werden, nur bei Ordnern nicht.
Komisch ist auch, dass z. B. bei C:/$Recycle.Bin die Größe richtig angezeigt wird.
Das File existiert (exists liefert true zurück) und ich habe auch die benötigten Rechte. Hier mal der Ausschnitt:
isDirectory() = true, exists() = true, listFiles() != null, canRead() = true, canWrite() = true und isHidden = false.k Ein Beispiel hierfür wäre
Was mach ich falsch?
mfg
BH16
Was mich so verwundert ist, dass die Dateigrößen von Dateien richtig angezeigt werden, nur bei Ordnern nicht.
Komisch ist auch, dass z. B. bei C:/$Recycle.Bin die Größe richtig angezeigt wird.
Das File existiert (exists liefert true zurück) und ich habe auch die benötigten Rechte. Hier mal der Ausschnitt:
Java:
long length = file.length();
if (length < 1024) {
fileInfos[i][1] = length + " B";
} else if (length < 1048576) {
fileInfos[i][1] = length/1024 + " KB";
} else if (length < 1073741824) {
fileInfos[i][1] = length/1048576 + " MB";
} else if (length < 1099511627776L) {
fileInfos[i][1] = length/1073741824 + " GB";
}
isDirectory() = true, exists() = true, listFiles() != null, canRead() = true, canWrite() = true und isHidden = false.k Ein Beispiel hierfür wäre
Was mach ich falsch?
mfg
BH16