Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Список файлов и папок в двумерный массив по указанной дирректории / 14 сообщений из 14, страница 1 из 1
27.07.2017, 11:15
    #39495827
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Ребят, что то туплю. Никак не пойму как сделать двумерный массив из папок и файлов. Сканить сканю, в консоль вывожу, а вот в массив ну никак и всё. Ткните носом, если где то было. Через рекурсию.
...
Рейтинг: 0 / 0
27.07.2017, 12:21
    #39495910
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
...
Рейтинг: 0 / 0
27.07.2017, 12:47
    #39495933
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Usman,
Это разве двумерный массив?
...
Рейтинг: 0 / 0
27.07.2017, 13:25
    #39495973
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Двумерный массив это матрица ограниченого размера.
Файловая система это дерево неопределенной глубины и с возможными циклами.
Как вы собираетесь одно проецировать в другое - никто не знает.

Возможно вы имели ввиду массивы массивов, где каждый массив содержит список детей одного узла? Это вполне традиционный способ хранения дерева.
...
Рейтинг: 0 / 0
27.07.2017, 13:34
    #39495983
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Blazkowicz,
Возможно, просто мне нужен двумерный массив, в котором 4 столбца: в первом имя папки/файла и в других 0 0 0755 для папок и 0 0 0644 для файлов соответственно. Причём путь надо не полный, а начинающийся с указаной папки(то есть без диска и тп мусора)
Например

system/app/AdupsFota 0 0 755
system/app/AdupsFota/AdupsFota.apk 0 0 644
system/app/AdupsFota/arm 0 0 755
system/app/AdupsFota/arm/AdupsFota.odex 0 0 644
system/app/AdupsFotaReboot 0 0 755
system/app/AdupsFotaReboot/AdupsFotaReboot.apk 0 0 644
system/app/AdupsFotaReboot/arm 0 0 755
system/app/AdupsFotaReboot/arm/AdupsFotaReboot.odex 0 0 644
system/app/ApplicationsProvider 0 0 755
system/app/ApplicationsProvider/ApplicationsProvider.apk 0 0 644
system/app/ApplicationsProvider/arm 0 0 755
system/app/ApplicationsProvider/arm/ApplicationsProvider.odex 0 0 644
system/app/AtciService 0 0 755
system/app/AtciService/AtciService.apk 0 0 644
system/app/AtciService/arm 0 0 755
system/app/AtciService/arm/AtciService.odex 0 0 644
system/app/AutoDialer 0 0 755
system/app/AutoDialer/AutoDialer.apk 0 0 644
system/app/AutoDialer/arm 0 0 755
system/app/AutoDialer/arm/AutoDialer.odex 0 0 644
system/app/BSPTelephonyDevTool 0 0 755
system/app/BSPTelephonyDevTool/BSPTelephonyDevTool.apk 0 0 644
system/app/BSPTelephonyDevTool/arm 0 0 755
system/app/BSPTelephonyDevTool/arm/BSPTelephonyDevTool.odex 0 0 644
system/app/BasicDreams 0 0 755
system/app/BasicDreams/BasicDreams.apk 0 0 644
system/app/BasicDreams/arm 0 0 755
system/app/BasicDreams/arm/BasicDreams.odex 0 0 644
system/app/BatteryWarning 0 0 755
system/app/BatteryWarning/BatteryWarning.apk 0 0 644
system/app/BatteryWarning/arm 0 0 755
system/app/BatteryWarning/arm/BatteryWarning.odex 0 0 644
system/app/Bluetooth 0 0 755
system/app/Bluetooth/Bluetooth.apk 0 0 644
system/app/Bluetooth/arm 0 0 755
system/app/Bluetooth/arm/Bluetooth.odex 0 0 644
system/app/Bluetooth/lib 0 0 755
system/app/Bluetooth/lib/arm 0 0 755
system/app/Bluetooth/lib/arm/libbluetooth_jni.so 0 0 644 /system/lib/libbluetooth_jni.so
system/app/Browser 0 0 755
system/app/Browser/Browser.apk 0 0 644
system/app/Browser/arm 0 0 755
system/app/Browser/arm/Browser.odex 0 0 644
system/app/Calculator 0 0 755
system/app/Calculator/Calculator.apk 0 0 644
system/app/Calculator/arm 0 0 755
system/app/Calculator/arm/Calculator.odex 0 0 644
...
Рейтинг: 0 / 0
27.07.2017, 13:35
    #39495985
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Можно и одномерный, но чтоб вот так писалось хотя б
...
Рейтинг: 0 / 0
27.07.2017, 13:49
    #39496000
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Можно даже чтоб возвращал ArrayList<String>, там уж в массивы переведу
...
Рейтинг: 0 / 0
27.07.2017, 13:50
    #39496002
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
BlackeAngelМожно даже чтоб возвращал ArrayList<String>, там уж в массивы переведу

А в чём сложность?
Получить список файлов/папок текущей папки?
Или рекурсивно пойти "внутрь"?
...
Рейтинг: 0 / 0
27.07.2017, 14:04
    #39496013
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Alexey Tomin,

Именно в рекурсии и записи в арейлист
...
Рейтинг: 0 / 0
27.07.2017, 14:34
    #39496038
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
BlackeAngelAlexey Tomin,

Именно в рекурсии и записи в арейлист

А какие усилия предпринял, чтобы разобраться? Книги прочитал? Код написал? В чём сложность?
Или хочешь, чтобы за тебя написали?
...
Рейтинг: 0 / 0
27.07.2017, 14:52
    #39496058
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Слова арейлист не существует, а в рекурсии нет ничего сложного. Но она не нужна.
Для решения задачи можно использовать библиотеку Apache Commons IO. В ней список папок и фаЙлов
включая содержимое подпапок можно получить как

Collection<File> files = FileUtils.listFilesAndDirs(dir, TrueFileFilter.INSTANCE, TrueFileFilter.INSTANCE);
(будет включена и эта папка dir).
Где File dir - папка, где делается поиск. Папку от файла в этой коллекции результатов можно отличить по File.isDirectory(), убрать начало пути можно, получив путь File.getAbsolutePath() и взяв подстроку после dir.getAbsolutePath().
...
Рейтинг: 0 / 0
27.07.2017, 15:32
    #39496124
BlackeAngel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Partisan M,
У меня нет этой библиотеки
Я использую
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
private static List<File> files = new ArrayList<>();
 
    public static void main(String[] args) {
        getSubFiles(files, new File("Путь к testfolder"));
        for (Object file : files.toArray()) {
            System.out.println(((File) file).getAbsolutePath());
        }
    }
 
    private static void getSubFiles(List<File> source, File parent) {
        if (!source.contains(parent)) {
            source.add(parent);
        }
        File[] listFiles = parent.listFiles();
        if(listFiles == null) {
            return;
        }
        for (File file : listFiles) {
            if (file.isDirectory()) {
                getSubFiles(source, file);
            } else {
                if (!source.contains(file)) {
                    source.add(file);
                }
            }
        }
    }


Но как прикрутить 0 0 0755 для папок и для файлов 0 0 0644 без понятия, ик одно стринг, другое файл.
...
Рейтинг: 0 / 0
28.07.2017, 22:42
    #39496932
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Тут КМК вопрос автора вообще не про это. Ему надо что-то вроде пыщ:

https://stackoverflow.com/questions/664432/how-do-i-programmatically-change-file-permissions

Или дернуть ProcessBuilder вместе с "find ... | chmod"
...
Рейтинг: 0 / 0
29.07.2017, 23:08
    #39497097
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Список файлов и папок в двумерный массив по указанной дирректории
Я вообще не понял, про что вопрос автора.

Даже засомневался, что может действительно, это составляет какую-то проблему. Но, первая же ссылка в google:

https://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html

т.ч. проблема совершенно не понятна.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Список файлов и папок в двумерный массив по указанной дирректории / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]