Как мне сохранить расположение файлов и папок в веб-системе управления файлами - PullRequest
0 голосов
/ 12 апреля 2010

Я пытаюсь создать веб-приложение, которое позволит пользователям загружать файлы онлайн. Я использую GWT при использовании Hibernate для связи с базой данных. Я могу загрузить файл на сервер и сохранить его на сервере. Что я хочу сделать, это связать файлы с пользователем.

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

Как лучше всего реализовать иерархию папок и информацию о местоположении файла, чтобы он мог отображаться в дереве gwt?

То, что у меня было, было то, что Пользователь содержал ссылку на корневую папку, а затем каждая подпапка могла содержать папки или расположения файлов. Я использовал составной шаблон для реализации файловой иерархии, но когда я хочу отобразить содержимое папки, мне нужен цикл for для каждого списка. Поэтому, если бы у меня была папка в папке внутри папки, для отображения содержимого моих папок потребовалось бы 3 вложенных цикла for.

Я бы хотел что-то вроде этого.

Как лучше всего внедрить эту систему управления файлами?

1 Ответ

0 голосов
/ 18 апреля 2010

Я предполагаю, что вы на самом деле не храните каталоги и подкаталоги как реальные, реальные каталоги и подкаталоги на сервере? Если это так, я бы просто сделал так, чтобы Java перебирал файловую систему на сервере и возвращал облегченное клиентское представление файлов и папок, которые он нашел, вашему интерфейсу GWT для отображения. Apache Commons IO (в частности FileUtils.iterateFiles или FileUtils.listFiles, чуть ниже) может помочь вам в этом.

Если вы пытаетесь эмулировать файловую систему в базе данных, вы, вероятно, захотите провести некоторое исследование о том, как современные файловые системы хранят и ищут файлы, и как реализовать и выполнить итерацию таких данных. структуры (вам понадобится какой-то цикл или рекурсия). Некоторое исследование B-деревьев может помочь, как может эта база данных структур данных (деревья будут наиболее полезны).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...