Показать специальные скрытые файлы / каталоги из Windows 7 в Java - PullRequest
0 голосов
/ 14 декабря 2010

Начиная с Windows 7, каталог windows / system32 / drivers / etc специально скрыт. Сама Windows 7 не показывает его, но оно есть, если я открою его вручную.

Сегодня я поигрался с примером Java JFace Eclipse (http://www.ibm.com/developerworks/library/os-ecgui1/) и мне было интересно, что java также не показывает каталог etc.

Итак, как я могу получить все каталоги / файлы при использовании file.listFiles ()? Есть идеи?

Ответы [ 2 ]

0 голосов
/ 14 декабря 2010

Как я уже писал, я поэкспериментировал с примером JFace, который создает Windows Explorer на основе Windows.Я согласен с вами, что приложение Java обычно не должно делать что-то в дереве каталогов драйверов Windows.«Специально скрытые» файлы там видны с другими программами, такими как Total Commander, без запуска этих программ с другими, чем обычные права.Я предполагаю, что Windows имеет некоторые API-функции для получения этой информации.Мне просто интересно решение на основе Java, которое может показать мне все, что есть на моем диске ...

0 голосов
/ 14 декабря 2010

Метод File.listFiles() должен включать в результат обычные «скрытые» файлы. Если это не так, это происходит из-за того, что что-то происходит на уровне операционной системы, чтобы скрыть файлы из приложения (а не только от пользователя).

Я не смог найти ничего ни в java.io.File, ни в расширениях Java 7 java.nio.*, в которых упоминается доступ к "специально скрытым" файлам.

Это может быть связано с привилегиями ... и в этом случае решение состоит в том, чтобы выполнить приложение Java с повышенными привилегиями.

Но простое решение для вашего приложения - держать свой нос подальше от дерева каталогов драйверов Windows.

...