Вам нужен PHP для этого, взгляните на http://php.net/manual/en/function.readdir.php
Из документации PHP:
$handle = opendir('/path/to/files')
/* This is the correct way to loop over the directory. */
while (false !== ($entry = readdir($handle))) {
//Do something with $entry
}
closedir($handle);
Более простой способ сделать это - использовать glob () :
foreach(glob('path/to/file/*.mp3') as $entry)
//Do something with $entry
Он также отфильтровывает файлы, не относящиеся к mp3
Если Вы используете предварительную обработку и путаницу с Прозащитой, то у Вас может быть простой класс входа.
public class Log {
public static void debug(final String message) {
//#if !release.build
System.out.println(message);
//#endif
}
}
Или делают вход, где когда-либо Вы должны. Теперь, если release.build свойство будет иметь значение true, то этот код будет прокомментирован, который приведет к пустому методу. Прозащита удалит все использования пустого метода - В действительности, сборка конечных версий будет иметь все сообщения отладки удаленными.
Редактирование:
Взгляды об этом на уровне библиотеки (я работаю над отображающейся библиотекой J2ME) я, вероятно, нашел лучшее решение.
public class Log {
private static boolean showDebug;
public static void debug(final String message) {
if (showDebug) {
System.out.println(message);
}
}
public static void setShowDebug(final boolean show) {
showDebug = show;
}
}
Этот способ, которым разработчик конца может включить уровни журнала в библиотеке, которой он интересуется. Если ничто не будет включено, весь код входа будет удален в путанице конечного продукта. Сладкий :)
/JaanusSiim
MicroLog уверен ставка. Это - небольшая библиотека входа для Java ME (J2ME) как Log4j. Это имеет поддержку входа к консоли, файлу, RecordStore, Холсту, Форме, Bluetooth, последовательный порт (Bluetooth, IR, USB), Сокет (incl SSL), UDP, Системный журнал, MMS, SMS, электронная почта или к Amazon S3.
Можно использовать-assumenosideaffects в прозащите для завершенного удаления класса входа:
-assumenosideeffects public class logger.Logger {*;}
Вместо того, чтобы иметь необходимость предварительно обработать.
Series60 и телефон UIQ, которым изменил виртуальную машину Sun сам Symbian, имеют перенаправление Стандартного вывода.
Не только может, Вы получить System.out, но и Throwable.printStackTrace () также работаете.
На ранних гарнитурах, необходимо было бы записать приложение C++, которое сцепляется в стандартный серверный процесс библиотеки. Symbian произвел приложение Редиректора, которое могло получить стандартный вывод VM к консоли или файлу.
На более новых гарнитурах, "redirect://" протокол GCF был представлен, который мог считать стандартный вывод VM в байт Java [] или Строковый объект (Вы захотите выполнить в этом отдельный MIDlet), и приложение Редиректора было переписано в Java.
На новейшем J9 VM, используемом в 3-м Пакете функций Выпуска Series60 2 гарнитуры (и позже), Вы, возможно, должны попробовать "redirect://тест" вместо этого.
Я привык MIDPLogger для некоторого допустимого уровня в производственном приложении, хотя я нашел, что это имеет больше использования после интеграции в приложение, а не как другой Midlet в комплекте или так дальше. Я также нашел MicroLog, но не привык его ни для какой большой детали.
Я записал оптимизатор байт-кода, и из-за формата файлов класса можно указать на кодирование UTF имени класса & функция, которая позволяет Вам производить журналы с MyClass.someFunc () (можно обработать подпись, если Вы хотите получить типы), который позволяет Вам делать что-то как C, разрабатывает отладку с помощью СТРОКА & макросы ФАЙЛА .
Используя условную компиляцию регистратора класс не решает проблему завершенного удаления регистрирующихся операторов, потому что Вы довольно часто зарегистрируете больше, чем простая строка. Вы будете искать значения переменных и затем собирать их в строки, например: WhateverLog.log ("Загруженный "+ someclass.size () +" foos").
Теперь, если Вы только не учитываете тело WhateverLog.log (как показано в принятом решении), Вы все еще оставите много внутри ненужного кода, включая Конкатенацию строк (и таким образом создание StringBuffer). Вот почему необходимо использовать инструмент обработки сообщения кода байта как прозащита (уже упомянутый).-assumenosideeffects прозащиты позволит его оптимизатору удалять не только регистрирующиеся операторы, но также и весь код, результаты которого только использовались бы регистрирующимся вызовом.