Включение и пропуск /
означает, что файл указывает на другой путь.Например, "foo/bar"
и "foobar"
- это разные пути, которые указывают на разные объекты в файловой системе:
Parent directory
+-- foobar "foobar"
+-- foo
+-- bar "foo/bar"
Не быть каталогом - это не то же самое, что файл.Итак, скорее всего (мы не знаем, что находится в вашей файловой системе), это не каталог, потому что он не существует.
Сначала вы должны проверить if (!f.exists())
(или аналогичный):
if (!f.exists()) System.out.println("Doesn't exist");
else if (f.isDirectory()) ... etc
Также обратите внимание, что вы не должны добавлять /
в любом случае - используйте конструктор с двумя аргументами:
File f = new File(dirname, s[i] );