Как создать файловый менеджер

Обновлено: 06.07.2024

Как назывался ваш первый файловый менеджер? Если в прошлом десятилетии можно было смело ожидать ответ "Norton Commander", то сегодня знакомство с файловой структурой чаще всего начинается с Проводника Windows. 2xExplorer во многом повторяет концепцию стандартного инструмента Windows, при этом имея массу дополнительных полезных функций.

Сразу стоит отметить небольшой размер дистрибутива и бесплатный статус программы. Оба эти фактора делают 2xExplorer максимально доступным.

Файловый менеджер, имея поддержку множества горячих клавиш, позволяет осуществлять управление только с клавиатуры. Для часто используемых папок можно назначать собственные клавиатурные сочетания. Разработчики уделили пристальное внимание просмотру и изменению файлов, включив в дистрибутив неплохой редактор. 2xExplorer позволяет создавать миниатюры для BMP и HTML-файлов с целью более удобного просмотра.

Основная часть функций вынесена на панель инструментов, располагающуюся в нижней части рабочего окна приложения.

Использование программы омрачает лишь один факт. Разработка 2xExplorer прекращена несколько лет назад, перспектив улучшения продукта нет.

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

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

AccelMan понимает несколько типов архивов, в число которых входит TAR, GZIP, ARJ и RAR, а также имеет встроенный ZIP-архиватор. В файловый менеджер встроен инструмент конвертирования графических документов с поддержкой форматов JPEG, TIFF, GIF, PNG и BMP.

При разработке программы учитывается множество факторов. Конечный продукт должен обладать достаточным количеством возможностей, чтобы заинтересовать пользователя, но при этом иметь простой, доступный интерфейс и приемлемую скорость. AccelMan, безусловно, заслуживает самых лестных слов в плане функциональности. Но при этом разработчики забывают о том, что файловый менеджер - это один из самых первых инструментов, устанавливаемых на рабочей станции. Соответственно, программа должна работать максимально быстро и не забивать голову пользователя необходимостью изучения десятков кнопок и пунктов меню. AccelMan - далеко не самая быстрая и интуитивно понятная программа. Ее нужно детально изучать, чтобы получить максимальную выгоду от использования. Впрочем, лицензия позволяет потратить на изучение целый месяц, чтобы самостоятельно сделать окончательный вывод.

К содержанию Directory Opus 8.2.2.2

Файловые менеджеры делятся на две группы - двухпанельные и имеющие вид Проводника Windows. Directory Opus объединяет в себе оба способа представления информации, являясь примером завидной универсальности. Несмотря на огромное количество возможностей, рабочее окно программы не перегружено сложными элементами, Directory Opus легко осваивается даже при наличии только базовых знаний о файловой структуре.

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

С помощью Directory Opus вы можете просматривать огромное количество типов документов. Файловый менеджер позволяет подключать плагины, цель которых сводится именно к обеспечению подобного просмотра внутри рабочего окна приложения. В программу встроен небольшой браузер, инструмент просмотра документов MS Office, проигрыватель аудио и видео информации. С помощью Directory Opus можно просматривать большое количество типов графических файлов, включая формат RAW. Стоит заметить, что Directory Opus не имеет встроенных редакторов, все внимание сосредоточено именно на просмотре информации. В целом, все подобные инструменты работают хорошо, однако видеопроигрыватель работает очень медленно, даже обычные фильмы в формате DivX воспроизводятся с сильными рывками. Впрочем, это нельзя считать большим недостатком, ведь мы говорим о файловом менеджере.

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

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

При ознакомлении с программой стоит обратить внимание на то, что большинство кнопок на панелях инструментов могут выполнять три функции, в зависимости от того, какой кнопкой мыши их активировать - левой, средней или правой.

EF Commander - один из старейших файловых менеджеров на сегодняшнем рынке. Изначально он был написан в 1994 году для OS/2 и лишь два года спустя портирован в среду Win32.

За долгие годы своего развития программный продукт не превратился в тяжелого монстра, так и оставшись компактной и быстрой программой. Рабочее окно приложения очень напоминает Total Commander, что многим облегчит знакомство, ведь не секрет, что продукт Кристиана Гислера пользуется огромной популярностью среди русскоязычных пользователей.

Между тем, EF Commander обладает мощными средствами просмотра документов, вплоть до HEX-редактора. С помощью плагинов можно осуществлять поддержку дополнительных типов документов. Файловый менеджер понимает более 20 типов архивов.

Вы можете стирать перезаписываемые оптические диски, а также записывать данные на большинство типов болванок. Для корректной работы данных механизмов, необходимо иметь установленный пакет Nero Burning ROM в системе.

EF Commander в свое время был первым файловым менеджером, в котором появился инструмент сопряжения с карманными ПК, на которых установлен Windows CE.

Разработчики дают 30 дней на ознакомление с программой. Знакомство проходит под градом постоянно выскакивающих окон с предложением в десятый, сотый раз согласиться с лицензией и приобрести программу online. Разумеется, необходимо соглашаться, иначе программа закрывается. Согласие дает передышку на несколько минут, после чего снова следует предложение о покупке.

Легендарные синие текстовые панели впервые появились в Norton Commander. Само слово "нортон" в начале 90-х годов воспринималось как обозначение любого файлового менеджера. Впрочем, немного позже среди русскоязычных пользователей заслуженную популярность завоевал Dos Navigator, обладающий массой новых, по тем временам уникальных возможностей. С приходом Windows 95 и массовым переводом всего программного обеспечения в 32-битную среду старые легенды стали потихоньку забываться.

Александр Рошал, автор архиватора RAR, хотел в то время написать его консольную 32-битную версию. Видимо, дело пошло даже лучше, чем ожидалось, и вместо простой оболочки в стиле RAR для DOS, мы увидели настоящий файловый менеджер, несущий старые, проверенные временем традиции управления файлами.

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

Отсутствие GUI сильно сковывает возможности файлового менеджера, но, вместе с тем, позволяет ему считаться самым быстрым продуктом данного класса ПО. Однако разработчики и не ставят перед собой задачу наполнения своего продукта массой функций. Вместо этого, FAR позволяет подключать внешние модули, с помощью которых можно выполнять самые неожиданные операции. На странице загрузки плагинов вы можете загрузить базу данных всех доступных модулей, насчитывающих более 600 штук.

FAR бесплатен для пользователей, проживающих на территории xUSSR. Для регистрации запустите файловый менеджер с ключом "-r", введите имя пользователя "xUSSR регистрация", а вместо кода регистрации наберите строчными русскими буквами текущий день недели.

К содержанию File Ant 20050830

FileAnt - весьма необычный файловый менеджер для Windows. Во-первых, управление программой с клавиатуры резко отличается от принятых стандартов (F5 - копировать, F7 - создать папку и т.д.). Во-вторых, программа сочетает в себе как дерево каталогов (как Проводник), так и две традиционные панели (Norton Commander).

По умолчанию, программа загружается в системный лоток, откуда ее можно быстро вызывать в любое время. Поддержка архивов по умолчанию осуществляется с помощью установленного в системе 7-zip, который, в свою очередь, понимает множество типов сжатия.

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

Файловый менеджер содержит множество мелких необычных функций, например, выделение файлов, имеющих определенный процент от общего объема каталога, сравнение файлов с учетом CRC32, поддержку собственных хранителей экрана и другое.

Во время тестирования FileAnt работал очень нестабильно. Кстати, это единственная программа во всем путеводителе, у которой наблюдались подобные проблемы. Во время попытки посмотреть видео, файловый менеджер зависал через раз. Один раз программа вылетела на ровном месте. И еще одна проблема связана с отображением заголовок вкладок - кириллица не поддерживается.

Разработчики, отбросив всякую скромность, называют свой продукт "самым функциональным и самым мощным средством работы с файлами". Но не это главное. Важнейшим достоинством Frigate является сохранение простоты освоения при всем богатстве возможностей.

Файловый менеджер позволяет просматривать огромное количество типов документов. Помимо традиционных архивов, текстовых документов, аудио и видео информации, вы можете открывать базы данных (DBF) и электронные таблицы (XLS).

Frigate имеет несколько оригинальных утилит в своем составе, не имеющих аналогов у конкурентов. С помощью калькулятора можно выполнять простейшие арифметические вычисления, блокнот помогает вести заметки, а часы с поддержкой тем оформления помогут не пропустить конец рабочего дня. Кроме того, в файловый менеджер встроена утилита контроля за автоматически запускающимися программами Windows, неплохой браузер, использующий движок Trident (возможно, даже не хуже, чем Internet Explorer), а также собственная консоль.

Поклонникам Total Commander будет приятно узнать, что Frigate поддерживает большинство плагинов легендарного файлового менеджера. Но и среди собственных дополнений можно найти весьма интересные примеры. Например, можно подключить проверку орфографии на русском языке. Работая в текстовом редакторе, вы можете использовать подсветку для множества типов документов (исходные тексты, HTML и другие). Если вы работаете над документом типа HTML, то можете сразу просматривать результат во встроенном браузере. Редактор поддерживает различные кодовые страницы. Frigate позволяет редактировать не только plain-text, но и RTF-документы.

Многие пользователи Total Commander облюбовали возможность запуска приложений прямо из панели инструментов. Frigate выполняет данную задачу несколько иначе. В правой части главного меню располагается панель быстрого запуска. При желании ее можно перенести в любое место. Панель выглядит очень компактно и позволяет сохранить драгоценное место для традиционных инструментов файлового менеджера.

Frigate распространяется в трех вариантах. Облегченный вариант (Lite) можно установить бесплатно и пользоваться без ограничений по времени. Остальные варианты имеют ознакомительный период 30 дней.

К содержанию Sky Commander 1.6.8.702

Sky Commander - молодой и весьма амбициозный проект. За основу файлового менеджера взята концепция Проводника Windows. По умолчанию вы видите довольно крупные значки файлов и папок. Для графических файлов сразу создаются миниатюры.

Файловый менеджер обладает стандартным для программ подобного класса интерфейсом. Панели инструментов настраиваются не очень гибко - вам разрешается лишь выбирать кнопки из строго заданного списка. Очень красиво реализованы подсказки. Вы наводите мышь на произвольную кнопку, и если вызов функции дублируется с помощью сочетания клавиш, то выскакивает окошко, в котором нарисованы кнопки с надписями, аналогичными их маркировке на клавиатуре. При помощи клавиши F11 можно перевести файловый менеджер в полноэкранный режим, в котором не будут отображаться заголовки окна.

При наведении мышью на файл внутри панелей появляется подсказка, кратко раскрывающая его содержание. Для графических файлов отображаются довольно крупные миниатюры, в MP3-файлах показываются теги, а содержание текстовых документов раскрывается с помощью первых двух строк.

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

Одна из особенностей Sky Commander заключается в наличии пакетного режима работы с архивами. C помощью специального инструмента вы можете указать произвольное количество архивов, а затем выполнить распаковку с помощью одной команды. Кроме того, файловый менеджер позволяет восстанавливать поврежденные ZIP-архивы.

Как было сказано ранее, проект еще очень молодой. Sky Commander еще не успел обрасти огромным количеством функций и в некоторых вопросах уступает конкурентам. С другой стороны, возможности продукта намного выше, чем у Проводника. А ведь многим пользователям достаточно стандартных средств Windows управления файлами. Может быть, и не нужно Sky Commander становиться вторым Фрегатом?

К содержанию Speed Commander 11.1

Название программы обещает высокую скорость, однако нельзя сказать, что Speed Commander является чем-то выдающимся в данном аспекте. Расход оперативной памяти весьма значителен, если сравнивать с конкурентами, да и интерфейс, наполненный множеством графических элементов, нельзя однозначно назвать быстрым. Между тем, если проанализировать отзывы пользователей Speed Commander на форумах, то нетрудно обнаружить доминирование положительной риторики.

Первое, на что следует обратить внимание во время ознакомления - это удивительная гибкость настроек всех панелей, горячих клавиш. Вы можете свободного перемещать любые панели, а с помощью правой кнопки мыши вызывать инструмент конфигурирования. Speed Commander позволяет создать кнопку и привязать к ней любую поддерживаемую программой операцию. Вы можете указать свой графический файл для кнопки. Любая операция может дублироваться с помощью сочетания клавиш. Программа поддерживает смену тем оформления, которые, впрочем, не меняют дизайн кнопок, но могут управлять цветовыми и дизайнерскими решениями, затрагивающими панели в целом. Вы можете указывать размер кнопок на панелях.

Speed Commander поддерживает множество типов архивов, причем архивирование может происходить вместе с шифрованием. Вы можете создать архив, зашифровать данные и имена файлов и поставить на него пароль. В Speed Commander имеется встроенная поддержка просмотра около 80 (!) графических и текстовых форматов. Текстовый редактор допускает возможность подсветки синтаксиса.

Метафора быстрого запуска приложений реализована не совсем обычно. На панели инструментов есть кнопка, нажав на которую, вы попадаете в аналог стартового меню Windows. Кроме того, можно назначить кнопки на открытие рабочего стола, элемента "Мой компьютер", системных папок, а также Избранного Internet Explorer.

К счастью, погоня за необычными функциями не привела Speed Commander в разряд сложных, тяжело осваиваемых программ. По крайней мере, пользователю Total Commander, скорее всего, будет казаться, что все элементы расположены логично. Speed Commander во многом похож на программу Кристиана Гислера, о которой и пойдет речь далее.

К содержанию Total Commander 6.53

"Пришел, увидел, победил" - сообщал о победе над Понтийским царем Юлий Цезарь. Кристиан Гислер, будучи студентом Университета Берна, в 1993 году написал файловый менеджер. Ему не нравились другие программы. Написал и победил.

Много ли вы помните файловых менеджеров с графическим интерфейсом, написанных во времена царствования Windows 3.x? Вопрос практически риторический. В начале 90-х годов большинство программ подобного класса были рассчитаны на работу в MS DOS. Windows Commander (старое название продукта) фактически стал первой ласточкой, первой программой, использовавшей все преимущества GUI.

Total Commander нельзя назвать самой функциональной, самой красивой или самой быстрой программой данного класса. Причина популярности файлового менеджера кроется в сбалансированности всех составляющих.

Несмотря на то, что в последнее время все больше программ рассчитано на управление с помощью мыши, работа с Total Commander может осуществляться исключительно с помощью клавиатуры, что значительно увеличивает скорость выполнения повторяющихся задач. Файловый менеджер обладает массой мелких возможностей, ставших для многих предметами первой необходимости. "Чем архивировал?" - задается вопрос, "Total Commander" - дается ответ, подразумевающий использование алгоритма ZIP. Навигация по FTP-серверам постепенно стала привычной операцией, без которой работа с файловым менеджером кажется неполноценной. Возможность добавления собственных кнопок на панель инструментов, пакетное переименование файлов, история каталогов и список любимых папок, разбиение и объединение файлов - все это лишь малая часть большого списка возможностей Total Commander. А многое из того, что находится за пределами данного списка, реализовано в виде плагинов.

Как уже было сказано ранее, Total Commander не идеален в плане абсолютных качеств. Frigate обладает более широкими возможностями, Far менее требователен к ресурсам, Speed Commander позволяет более гибко настраивать внешний вид. Может быть, в данном случае работает пословица "лучшее - враг хорошего?"

Стоит обратить внимание на условия распространения программы. Если очень сильно упростить условия всех современных лицензий, то программы бывают либо платными, имея некоторый срок для ознакомления, либо бесплатными. Лицензия Total Commander позволяет вам бесплатно использовать продукт неограниченное количество времени. В этом случае при старте программы отображается окно с предложением купить программу. Вы закрываете его и после этого пользуете полнофункциональной версией файлового менеджера. Заплатив за программу, вы сможете работать с Total Commander без назойливого стартового окна.


Android — перспективная и динамично развивающаяся операционная система. И многие программисты хотят научиться программировать приложения для OS Android, но беглый поиск структурированных материалов в сети Интернет и, в частности, Рунете, приводит их в ступор. Действительно, до сих пор существует проблема поиска обучающих статей (особенно на русском языке) по разработке приложений для этой весьма популярной операционной системы.
Ну, что ж, будем потихоньку улучшать данную ситуацию при помощи Хабра.
Сразу предупрежу, что материалы предназначены для тех, кто не имеет опыта разработки приложений для Android, но очень-очень хочет этот опыт приобрести.

Готовимся

  • Устанавливаем Eclipse Classic отсюда
  • Устанавливаем SDK Starter Package отсюда
  • Устанавливаем ADT Plugin при помощи данной инструкции, по той же инструкции выполняем действия, описанные в разделе Configuring the ADT Plugin
  • Запускаем Eclipse, нажимаем Window > Android SDK and AVD Manager и выбираем необходимые компоненты для установки. Самый простой вариант — выбрать всё, но необходимый минимум — SDK Platform Android 2.1 (или 2.2), Android SDK Tools, Android SDK Platform-tools

Если же вы хотите тестировать свои приложения на реальном устройстве, смотрите сюда. Важно отметить, что в конечном счёте вам всё равно придётся проверять своё приложение на реальном устройстве, ведь немного странно выпускать приложение, допустим, в Android Market, как следует его не протестировав на действующих образцах телефонов/планшетов.

Создаем проект


Пришло время создать новый проект. Для этого жмём File > New > Project, выбираем в появившемся окне Android > Android Project и жмем Next. Появляется следующее окно, которое мы заполняем примерно так:

Теперь немного объяснений.
Project Name — имя проекта в среде Eclipse.
Application Name — название приложение, то самое, которое будут видеть пользователи на конечном Android-устройстве.
Package Name — название пакета. Тут всё аналогично любому Java-проекту. Важно знать, что данное имя должно быть уникальным среди всех пакетов, имеющихся на конечном устройстве. Посему достаточно эффективна классическая логика давать название, соответствующего веб-домену, записанному наоборот (как тут — ru.alwake), а далее — название самого проекта. Данный шаг в какой-то мере обеспечит уникальность названия.
Create Activity — имя класса, который в будущем будет являться подклассом класса Activity.
Min SDK Version — минимальная версия SDK. Если посмотреть выше на список Build Target в данном окне, то можно прийти к выводу, что наше приложение запускается только для устройств с Android >= 2.1 (Android 2.1 соответствует версия SDK 7). В данном случае это не очень принципиально, но пусть будет так.

Теперь можно смело нажать Finish и лицезреть свой проект в панели Package Exploper. Проект создан и неплохо бы ознакомиться с некоторой теоретической основой по устройству Android-приложений, которая неплохо изложена тут.

О нашем проекте

Для начала определимся, что мы хотим от нашего файлового менеджера. В идеале — полную замену ASTRO и eStrongs. Ну, а пока нам требуется обеспечить базовую навигацию по каталогам, причем под «базовой» мы понимаем, что нам не нужно заходить в те папки, в которые имеет доступ только root. Помимо этого, в поле сверху у нас будет отображаться наше текущее расположение в структуре каталогов.

Ну, а сначала поговорим о структуре проекта:


/res/drawable-*dpi — в этих трёх папках у нас содержатся ресурсы, предназначенные для разных расширений экрана. На данный момент там имеется всего-навсего файл icon.jpg, то есть иконка нашего приложения.
/res/layout — в данной папке содержатся xml-файлы, описывающие внешний вид форм и различных элементов форм. После создания проекта там уже имеется файл main.xml, также там нужно создать файл row.xml, который будет описывать внешний вид каждого отдельно взятого ряда (то есть элемента списка нашего файлового древа).
/res/values — тут у нас располагаются какие-либо константы, которые мы можем использовать в нашем проекте.

Стоит отметить, что данные XML-файлы можно редактировать как в визуальном режиме, так и в текстовом (меняя непосредственно xml-код). Мы будем действовать по второму способу. Для редактирования кода необходимо нажать правой кнопкой по xml-файлу в панели Package Explorer и выбрать Open with > Text Editor. Это так, на будущее ;)

Файл FileManager.java — в данном файле, собственно, содержится наш основной класс для главной и единственной формы приложения. Весь наш код в данном проекте будет размещаться тут.
Файл AndroidManifest.xml — файл с основными свойствами нашего проекта, в частности, заданными при создании проекта (такими как, например, название). Соответственно, чтобы поменять, предположим, название, нам нужно ковырять данный файл.

Остальные файлы нас пока мало интересуют.

Начинаем писать код

В общем-то, всё что было выше — базовые сведения, которые каждый Android-программист обязан знать. А теперь пришла пора разбираться непосредственно с нашим кодом.

Файл main.xml:

<? xml version ="1.0" encoding ="utf-8" ? >
< TableLayout xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent" >

< TableRow >
< TextView android:id ="@+id/titleManager"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent"
android:padding ="5dip"
/>
</ TableRow >
< TableRow >
< ListView android:id ="@id/android:list"
android:layout_width ="fill_parent"
android:layout_height ="fill_parent"
android:layout_weight ="2"
android:drawSelectorOnTop ="false" />

</ TableRow >
</ TableLayout >

* This source code was highlighted with Source Code Highlighter .

Здесь у нас задается разметка для нашего основного Layout'а формы. TableLayout здесь значит, что элементы у нас выстроены в виде таблицы. Далее в верхней ячейке таблицы размещается элемент TextView (текстовое поле), а в нижней ячейке — ListView (список). Оба элемента имеют id, используя который, мы можем изменять содержимое элементов. Например, используя R.id.titleManager для нашего текстового поля TextView.

<? xml version ="1.0" encoding ="utf-8" ? >
< TextView
xmlns:android ="http://schemas.android.com/apk/res/android"
android:layout_width ="fill_parent"
android:layout_height ="40sp"
android:padding ="5dip"
android:gravity ="center_vertical"
/>

* This source code was highlighted with Source Code Highlighter .

Здесь мы задаем разметку для каждого элемента нашего ListView, то есть непосредственно для каждой отдельно взятой папки или каждого файла. В данном коде у нас задается ширина каждого элемента, высота, отступ (padding) и выравнивание center_vertical — то есть центрование по вертикали.

Файл FileManager.java:

  1. package ru.alwake.filemanager;
  2. import java.io. File ;
  3. import java.util. ArrayList ;
  4. import java.util. List ;
  5. import android.app.AlertDialog;
  6. import android.app.ListActivity;
  7. import android.content.DialogInterface;
  8. import android.content.Intent;
  9. import android.content.DialogInterface.OnClickListener;
  10. import android.net. Uri ;
  11. import android.os.Bundle;
  12. import android.view.View;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.ListView;
  15. import android.widget.TextView;
  16. public class FileManager extends ListActivity
  17. private List < String > directoryEntries = new ArrayList < String >();
  18. private File currentDirectory = new File ( "/" );
  19. //when application started
  20. @Override
  21. public void onCreate(Bundle icicle)
  22. super.onCreate(icicle);
  23. //set main layout
  24. setContentView(R.layout.main);
  25. //browse to root directory
  26. browseTo( new File ( "/" ));
  27. >
  28. //browse to parent directory
  29. private void upOneLevel()
  30. if ( this .currentDirectory.getParent() != null )
  31. this .browseTo( this .currentDirectory.getParentFile());
  32. >
  33. >
  34. //browse to file or directory
  35. private void browseTo(final File aDirectory)
  36. //if we want to browse directory
  37. if (aDirectory.isDirectory())
  38. //fill list with files from this directory
  39. this .currentDirectory = aDirectory;
  40. fill(aDirectory.listFiles());
  41. //set titleManager text
  42. TextView titleManager = (TextView) findViewById(R.id.titleManager);
  43. titleManager.setText(aDirectory.getAbsolutePath());
  44. > else
  45. //if we want to open file, show this dialog:
  46. //listener when YES button clicked
  47. OnClickListener okButtonListener = new OnClickListener()
  48. public void onClick(DialogInterface arg0, int arg1)
  49. //intent to navigate file
  50. Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri .parse( "file://" + aDirectory.getAbsolutePath()));
  51. //start this activity
  52. startActivity(i);
  53. >
  54. >;
  55. //listener when NO button clicked
  56. OnClickListener cancelButtonListener = new OnClickListener()
  57. public void onClick(DialogInterface arg0, int arg1)
  58. //do nothing
  59. //or add something you want
  60. >
  61. >;
  62. //create dialog
  63. new AlertDialog.Builder( this )
  64. .setTitle( "Подтверждение" ) //title
  65. .setMessage( "Хотите открыть файл " + aDirectory.getName() + "?" ) //message
  66. .setPositiveButton( "Да" , okButtonListener) //positive button
  67. .setNegativeButton( "Нет" , cancelButtonListener) //negative button
  68. .show(); //show dialog
  69. >
  70. >
  71. //fill list
  72. private void fill( File [] files)
  73. //clear list
  74. this .directoryEntries.clear();
  75. if ( this .currentDirectory.getParent() != null )
  76. this .directoryEntries.add( ".." );
  77. //add every file into list
  78. for ( File file : files)
  79. this .directoryEntries.add(file.getAbsolutePath());
  80. >
  81. //create array adapter to show everything
  82. ArrayAdapter< String > directoryList = new ArrayAdapter< String >( this , R.layout.row, this .directoryEntries);
  83. this .setListAdapter(directoryList);
  84. >
  85. //when you clicked onto item
  86. @Override
  87. protected void onListItemClick(ListView l, View v, int position, long id)
  88. //get selected file name
  89. int selectionRowID = position;
  90. String selectedFileString = this .directoryEntries. get (selectionRowID);
  91. //if we select ".." then go upper
  92. if (selectedFileString.equals( ".." ))
  93. this .upOneLevel();
  94. > else
  95. //browse to clicked file or directory using browseTo()
  96. File clickedFile = null ;
  97. clickedFile = new File (selectedFileString);
  98. if (clickedFile != null )
  99. this .browseTo(clickedFile);
  100. >
  101. >
  102. >

В начале указывается название пакета (package name).
Строки 2-18 отвечают за импорт нужных нам библиотек. Важно отметить, что импорт библиотек Eclipse может производить автоматически, как только встретит что-нибудь неизвестное.
В данном коде у нас всего 5 достаточно очевидных функций, в которых несложно разобраться. И это — скелет приложения, обеспечивающий основную навигацию по файловой структуре. Однако у данного приложения существует одна проблема — при попытке зайти в директорию, доступ к которой разрешен только суперпользователю, мы получаем ошибку и приложение завершает работу.
Соответственно, в следующий раз мы подумаем как избавиться от этой ошибки, а также о том, как сделать отображение иконок, соответствующих типу файла. Кроме того, мы подумаем о реализации функции Copy-Paste в нашем файловом менеджере.

В конечном счёте предполагается получить большое и грамотное приложение, которое должно дать основную информацию об аспектах программирования под Android.

>>Создание на СИ++ простенького файлового менеджера. Все профи сюда!!<<

Так сказать, силами студентов написать OpenSource TotalComander.
хм.. А чё бы нет? ток давайте определимся с версией компилятора для начала!

тогда лучше в Visual Studio 2010, там вроде можно сделать так, чтобы несколько людей сразу же имели доступ к исходникам

уже вижу вечно голодного студента в общаге, по ночам работающего в макдональдс для того, чтобы скопить на VS и написать свой велосипед
Хотя идея на самом деле заманчивая - хорошего, быстрого, кроссплатформенного файлового менеджера, с открытым исходным кодом я в своё время так и не нашел. Возможно, я просто плохо искал.
Но написать свой файловый менеджер не так-то просто. Я бы ни за что не начал бы пользоваться менеджером без поддержки FTP, вкладок, возможности просматривать эскизы, встроенного архиватора, настройки цветовой гаммы, возможности переименовывать группы файлов по маске. и еще кучи мелочей.
Программировать все эти мелочи - адский (а главное - ненужный) труд. Если уж так чешутся руки - возьмите лучше готовый продукт под GPL и допилите его.

Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. (c) Martin Golding

Последний раз редактировалось Nedward; 19.07.2011 в 19:45 .

Nedward, студентам ВМК МГУ дают бесплатно лицензионный Windows и VS)

ток давайте определимся с версией компилятора для начала!

Вот я подумал о разных программных продуктах- и понял что легче сейчас раздобыть - C++ Builder 6.0
Считаю что он справится с поставленной задачей.
А по поводу взоров в будущее , типа -кроссплатформенность, ну и в частности FTP, вкладок, архиватора, цветовой гаммы. и т.д. могу сказать так-давайте начнём по порядку, а потом уже и "рюшечки присобачим")

Американский форум - задал вопрос, получил ответ.
Еврейский форум - задал вопрос, тебе задали вопрос.
Русский форум - задал вопрос, тебе долго объясняют какой ты мудак ))) (с-хз)

SPRUT.io — это полнофункциональный файловый менеджер нашей собственной разработки, который позволит заменить привычный FTP-клиент и удобно работать с файлами на сервере прямо из браузера с любого места.


SPRUT.io имеет классический и привычный интерфейс, это позволяет легко и удобно работать с несколькими серверами, быстро выполнять различные действия с файлами и папками.

Интерфейс файлового менеджера

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


Верхние панели содержат вкладки для работы с файлами, навигацией и инструментами, а также быстрые команды в виде кнопок.


Основное рабочие пространство — это два окна для удобной работы с файлами. В каждой, из которых вы можете открыть файлы на сервере и удаленном FTP.


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

Нижнии панели содержат индикаторы объема свободного пространства, вкладки с открытыми файлами и быстрые команды, с подписанными горячими клавишами.


Как и большинство десктопных FTP-клиентов наш Файловый менеджер содержит ряд горячих клавиш, которые ускоряет работу с самыми распространенными действиями.

Список горячих клавиш:

  • Ctrl + 3 — просмотр;
  • Ctrl + 4 — правка;
  • Ctrl + 5 — копирование;
  • Shift + 5 — перемещение;
  • Ctrl + 6 — переименование;
  • Ctrl + 7 — создание новой папки;
  • Ctrl + 8 или Del — удаление.

Файловый менеджер поддерживает мультиоконность и обладает вкладочным интерфейсом. Вы можете открыть сразу множество файлов в области окна файлового менеджера и работать с ними подобно тому, как вы делаете это в операционной системе. Это удобно, когда нужно скопировать код из одного файла в другой и т.д.

Окна открытых файлов можно свободно перемещать, сворачивать, разворачивать, изменять их размер как вам удобно в пределах окна файлового менеджера


Открытые файлы отображаются внизу файлового менеджера на панели вкладок.


Возможности файлового менеджера

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


К примеру, вы можете легко перенести файлы и папки с вашего сервера на удаленный FTP и обратно, для этого выберите нужные файлы и папки, захватите их мышкой и перетащите в нужное место.

Рассмотрим подробнее основные возможности файлового менеджера.

Копирование файлов и папок

Чтобы скопировать группу файлов — выделите их мышкой с зажатой кнопкой Ctrl перетащите их в нужное место. Когда вы отпустите кнопку, мыши файловый менеджер выведет диалоговое окно с уточнением того, хотите ли Вы скопировать файлы или нет.

Если файлы с такими именами существуют, то выведется предложение о перезаписи файлов.

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


Осуществить копирование также можно через вкладку Файл в верхней панели файлового менеджера, а также с помощью набора быстрых команд в нижней панели файлового менеджера и комбинацией горячих клавиш — Ctrl + 5.

Переименование файлов и папок

Для переименования файла или директории вы также можете воспользоваться вкладкой файл в верхней панели файлового менеджера (Файл 🠒 Операции 🠒 Переименовать), выпадающим меню по правому клику, быстрой командой в нижней панели файлового менеджера и комбинацией горячих клавиш — Ctrl + 6.

После нажатия на кнопку Переименовать вы увидите диалоговое окно для ввода изменения имени элемента. Введите новое имя и нажмите ОК.

В отличие от копирования и перемещения данная функция не является групповой и может быть применена только к одному элементу.

Изменение атрибутов файлов и директорий

Для изменения атрибутов файла или директории вы можете воспользоваться контекстным меню или пунктом меню в выпадающем меню Файл в верхней панели файлового менеджера.

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


Права можно выставить отдельно для владельца файла (User) — первая цифра кодового значения, для группы (Group) — вторая цифра кодового значения, для всех (All) — третья цифра кодового значения.

Получить цифровое обозначение прав можно сложением, где:

  • 1 — права на выполнение;
  • 2 — права на запись;
  • 4 — права на чтение.

Например, мы хотим установить права на чтение и запись для пользователя и группы. Цифровое значение таких прав — 6 = 4(чтение) + 2(запись). Получается: 660, где 600 — права на запись и чтение для владельца, а 60 — права на запись и чтение для группы.

На наших серверах файлы исполняются из-под пользователя, поэтому две последних цифры в правах должны быть равны 0.
Например, если Вам надо выставить права на всё для файла необходимо установить значение: 700.

Удаление файлов и папок

Удалить файлы можно через меню Файл в верхней панели файлового менеджера (Файл 🠒 Операции 🠒 Удалить), быструю команду на нижней панели файлового менеджера, выпадающее меню по правому клику, с помощью горячих клавиш — Ctrl + 8 или кнопкой Del.

Перед удалением файлов Файловый менеджер выведет диалоговое окно с уточнением того, действительно ли вы хотите удалить выбранные файлы.


Работа c удалённым FTP

Удалённый FTP позволяет быстро перемещать файлы на высокой скорости между серверами. Например, с помощью FTP вы можете перенести файлы вашего сайта с другого хостинга.

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


В открывшемся окне укажите: тип подключения ftp/sftp, сервер для подключения, логин и пароль для подключения. Затем нажмите на кнопку Сохранить, расположенную под добавленным подключением, а затем на кнопку Сохранить, расположенную в блоке инструментов управления подключением к удалённому серверу.


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

Для того кликнете в пустое поле левой или правой панели, затем перейдите в подменю выбора сервера и выберите удаленный сервер.


Работа с архивами

Вы можете создать или распаковать архив, а также сразу скачать нужные файлы/директории архивом.

1. Создание архива

Создать архив можно через быструю команду Создать Архив в верхней панели файлового менеджера, меню Файл 🠒 Операции 🠒 Создать архив и через выпадающее меню по правому клику мышкой.

При создании архива вы можете:

  • задать название архива;
  • указать путь, куда архив будет сохранен;
  • выбрать тип архива: Zip, Tar.GZ, TarBZ2, Tar.


2. Распаковка архива

Чтобы распаковать архив кликнете по нему правой кнопкой мышки и выберете пункт Распаковать архив. В появившемся модальном окне выберите путь для распаковки и нажмите OK.


Множественная загрузка

Для множественной загрузки файлов на сервер перейдите в директорию для загрузки файлов и нажмите кнопку Загрузить Файлы в верхней панели файлового менеджера. В открывшемся окне нажмите Browse и выберите нужные файлы для загрузки и нажмите кнопку Загрузить.

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


Максимальный размер одного файла не должен превышать 1.5 Гб. Для загрузки больших файлов воспользуйтесь FTP/SFTP подключением.

Поиск по файлам, папкам и тексту

В файловом менеджере есть функциональная система поиска. Вы можете искать файлы, папки и текст в файлах.

Поиск по файлам и папкам

Если вам нужно найти файл или папку — войдите в систему поиска через кнопку Поиск Файлов в верхней панели быстрого доступа или вкладку Навигация 🠒 Поиск 🠒 Поиск Файлов.

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



Если мы хотим найти все папки и файлы с именем flask — необходимо указать в строке Имя файла: flask*.

Символ «*», введенный в поисковый запрос воспринимается системой как поисковый оператор, который указывает на пропуск одного или нескольких символов в запросе. Таким образом, система найдёт все файлы и папки, имена которых начинаются с flask.


Поиск по тексту

Вы также можете находить файлы по фрагментам текста, содержащимся в них. Перейти в систему поиска текста можно через кнопку Поиск Текста, находящеюся в верхнем меню файлового менеджера и вкладку Навигация 🠒 Поиск 🠒 Поиск Текста.

Редактирование текста и просмотр изображений

Файловый менеджер содержит удобный редактор с подсветкой синтаксиса, автодополнением и встроенным плагином Emmet, значительно облегчающим работу с HTML и CSS.

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

Редактирование текста

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


Войти в текстовый редактор можно через:

  • двойной левый клик на нужном вам файле;
  • вкладку Просмотреть в выпадающем меню по правому клику;
  • вкладку Файл 🠒 Операции 🠒 Просмотр;
  • панель быстрых команд в нижней части окна файлового менеджера;
  • сочетание горячих клавиш Ctrl + 3.

Нажав кнопку Настройки в правом верхнем углу текстового редактора, вы можете настроить его внешний вид, изменить размер шрифта и другие параметры.


Текстовый редактор обладает функцией подсветки синтаксиса и умеет распознавать, какой файл вы открыли, будь это php-скрипт, bash-скрипт или другой язык программирования. Вы также можете выбрать самостоятельно подсветку кода, воспользовавшись выпадающим меню в текстовом редакторе.

Текстовый редактор также позволяет изменять кодировку файла и пересохранить файл в другой кодировке.

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

Просмотр графических файлов

Войти в просмотрщик графических файлов можно через:

  • двойной левый клик на нужном вам файле;
  • вкладку Просмотреть в выпадающем меню по правому клику;
  • вкладку Файл 🠒 Операции 🠒 Просмотр;
  • панель быстрых команд в нижней части окна файлового менеджера;
  • сочетание горячих клавиш Ctrl + 3.

С помощью просмотрщика вы можете переворачивать изображение, изменить его масштаб и переходить к следующему изображению.

Совершаемые вами действия над изображениями не сохраняются.

Управление доступом

С помощью файлового менеджера вы можете выставить пароль на папку и заблокировать доступ к папке с указанных IP-адресов.

Чтобы установить пароль на папку, выберите нужную вам папку и перейдите во вкладку Инструменты 🠒 Установить пароль на текущую директорию. В появившемся диалоговом окне введите имя пользователя, от которого будет установлен пароль и сам пароль на директорию, затем нажмите кнопку Установить пароль.

Аналогично вы можете закрыть доступ к папке с отдельных IP. Для этого перейдите в меню Инструменты 🠒 Установить блокировку по IP-адресу.

В появившемся диалоговом окне введите список IP в формате: xxx.xxx.xxx.xxx, с которых вы хотите открыть/запретить доступ.

В окне настройки доступа по IP вы можете запретить/разрешить доступ с любого IP, а также настроить последовательность обработки IP-адресов.


Работа с сайтами через FTP

Файловый менеджер имеет ряд функций по работе сайтами, расположенными на серверах Бегета.

1. Список сайтов

Вы можете легко переходить между сайтами вашего хостинг-аккаунта. Для этого перейдите во вкладку Навигация -> Список сайтов -> выберете нужный вам сайт для перехода.

2. Размер папок

С помощью FTP вы можете легко узнать размер ваших директорий, нажав на кнопку Анализ размера на панели быстрого доступа в верхней части окна файлового менеджера.


В открывшемся окне вы можете увидеть информацию о размере папок и файлов в Mb и в % от общего занимаемого объема всех файлов на диске.


Также вы всегда можете видеть общий размер занятого дискового пространства на сервере внизу окна файлового менеджера.

Работа резервными копиями

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


Кликнув по подходящей резервной копии, вы сможете просмотреть ее содержимое и, при необходимости, скопировать из нее нужные файлы.

Читайте также: