Как получить список скрытых файлов, начинающихся с точки (.) .Name - PullRequest
0 голосов
/ 12 ноября 2018

Я делаю приложение и мне нужно найти и получить доступ к скрытым файлам. Имена файлов начинаются с точки (.). Например: во внутренней памяти у меня есть папка, содержащая 3 скрытых файла. Но когда я получаю список файлов папок, ничего не возвращаю. Я использую этот код для получения списка файлов

File root =android.os.Environment.getExternalStorageDirectory();

File Dir = new File(root.getAbsolutePath()+"/DCIM/Camera");

Dir.listFiles()

Как я могу получить список файлов, которые содержат скрытые файлы и файлы, скрытые по имени точки =>. Name

В приложениях FileManager есть возможность отобразить файлы. Если включить его, вы можете увидеть любой скрытый файл в любом каталоге, мне нужно, чтобы

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

В файловой системе Android (или * nix) нет скрытых файлов."."это просто соглашение для инструментов не показывать его и не имеет ничего общего с файловой системой.

Ваш код должен работать, возможно, у вас нет файлов, начинающихся с '.'или попробуйте код ниже, я добавил несколько строк в ваш код.

    File root =android.os.Environment.getExternalStorageDirectory();

    File Dir = new File(root.getAbsolutePath()+"/DCIM/Camera/");

    File files[] = Dir.listFiles();

    for(File f: files) {
        if(f.getName().startsWith(".")) {
            Log.e("", "Found: " + f.getName());
        }
    }
0 голосов
/ 12 ноября 2018

Файлы, начинающиеся с "." скрыты по соглашению, а не самой файловой системой. Если эти файлы существуют, ваш код уже должен их перечислять.

Эти приложения FileManager обычно ведут себя так, как ваша операционная система, и скрывают файлы, начинающиеся с "." поскольку пользователи ожидают, что они будут скрыты, это не поведение, вызванное File api.

...