Я использую этот код для его проверки;File.canExecute() говорит, что каждый файл является исполняемым?
public class CanExecuteTest {
public static void main (String[] args) {
File currentDir = new File(System.getProperty("user.dir"));
traverse(currentDir);
}
public static void traverse(File dir) {
String[] filesAndDirs = dir.list();
for (String fileOrDir : filesAndDirs) {
File f = new File(dir, fileOrDir);
if (f.isDirectory()) {
traverse(f);
} else {
System.out.print(f);
if (f.canExecute()) {
System.out.println(" can execute");
} else {
System.out.println(" cannot execute");
}
}
}
}
}
Это означает, что каждый файл является исполняемым файлом. Я здесь что-то не так, или это ошибка Java? Я на Windows 7, Netbeans 7.3.1 и Java 7.
Может выполняться не означает, что он будет выполняться, только чтобы ваши разрешения позволили вам выполнить этот файл. В каком-то смысле это похоже на гриб, и спросить: «Можно есть?» Ответ был бы «да», независимо от того, какой гриб вы указываете, хотя для некоторых грибов, которые отвечают, будет означать, что вы можете съесть его только один раз. – dasblinkenlight