public long dirSize(File dir) {
File[] files = dir.listFiles();
long size = 0;
for (File file : files) {
if (file.isDirectory()) {
size += dirSize(file);
}
else {
size += file.length();
}
}
return size;
}
public long dirSize(File dir)
{
File[] files = dir.listFiles();
long size = 0;
for (File file : files) {
if (file.isDirectory()) {
size += dirSize(file);
}
else {
size += file.size(); <----diese size "methode ist undefined for the type file
}
}
return size;
}
size += file.length(); // Fügt zu size die Größe der Datei in Bytes an
...
double mbsize;
mbsize = size/1024/1024;
PELLE hat gesagt.:hab das mal in eclipse gepasted und die beiden long müssen wohl eher size heißen oder willst du bytes in einem datentyp speichern;-)![]()
public double dirSize(File dir)
{
double mbsize;
File[] files = dir.listFiles();
double size = 0;
for (File file : files)
{
if (file.isDirectory())
{
size += dirSize(file);
}
else
{
size += file.length();
}
}
mbsize = size/1024/1024;
return mbsize;
}
public void SourceDirectoryCBEinlesen()
{
File path = new File(SettingsPanel.sourceDirDefaultTF.getText());
FileFilter filefilter = new FileFilter()
{
public boolean accept(File file)
{
return file.isDirectory();
}
};
File[] zipfiles = path.listFiles(filefilter);
for(int i = 0 ; i < zipfiles.length ; i++)
{
SourceDirectoryCB.addItem(zipfiles[i].getName());
double a = *****dirSize*****(path.getAbsolutePath()); <---- das ist das dirSize in der fehlermeldung
String dirMB = String.valueOf(a);
homepageTF.setText(dirMB);
}
}
Severity and Description Path Resource Location Creation Time Id
The method dirSize(File) in the type MainWindow.RePanel is not applicable for the arguments (String) i MainWindow.java line 339 1152355189000 1166
long size = dirSize(new File("L:\\");
long size = dirSize(new File(laufwerk + unterverzeichnis));
Hobbit_Im_Blutrausch hat gesagt.:ich verstehs immer noch net (restalkohol???) Wenn du die Größe von L:\ haben willst rufst du dirSize so auf
Code:long size = dirSize(new File("L:\\");
und wenn du die Größe von L:\ unterverzeichnis haben möchtest rufst du dirSize so auf
Code:long size = dirSize(new File(laufwerk + unterverzeichnis));
musst halt darauf achten, dass laufwerk + unterverzeichnis zusammen z. B. sowas ergen C:/Daten/Downloads o. ä.
PELLE hat gesagt.:melde mich nächste woche dann :lol:
Hobbit_Im_Blutrausch hat gesagt.:hä? Ein Ordner hat keine größe, der is einfach 0 byte groß ...
public double dirSize(File dir)
{
double mbsize;
File[] files = dir.listFiles();
double size = 0;
for (File file : files)
{
if (file.isDirectory())
{
size += dirSize(file); //hier erfolgt der rekusrsive aufruf für Directorys sollte also gehen
}
else
{
size += file.length();
}
}
mbsize = size/1024/1024;
return mbsize;
}