У меня есть класс и пример его использования внутри Activity. Код, как показано ниже:Фильтр расширения файлов
FileExplorer.java
public class FileExplorer {
public static final String TAG = FileExplorer.class.getSimpleName();
public List<String> getAllFilesOfDir(File directory) {
List<String> allFiles = new LinkedList<>();
Log.d(TAG, "Directory: " + directory.getAbsolutePath() + "\n");
final File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
if (file != null) {
if (file.isDirectory()) { // to folder
allFiles.addAll(getAllFilesOfDir(file));
} else { // to plik
Log.d(TAG, "File: " + file.getAbsolutePath() + "\n");
allFiles.add(file.getAbsolutePath());
}
}
}
}
return allFiles;
} }
FileExplorerActivity.java
public class FileExplorerActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_file_explorer);
final String state = Environment.getExternalStorageState();
FileExplorer explorer = new FileExplorer();
List<String> allFiles = null;
Log.e("QWE", "qweqwE");
if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) { // mozemy czytac External storage...
allFiles = explorer.getAllFilesOfDir(Environment.getExternalStorageDirectory());
} else {
Log.e("ASD", "Nothing");
}
if (allFiles != null) {
Log.d("BENG", "File list with size of: " + allFiles.size());
for (String file : allFiles) {
Log.d("FILE", file);
}
}
Я полагаю, теперь мне нужно расширить код FileExplorer класса. Должен ли я добавить другое условие перед возвратом в конец списка кодов файлов? Или мне нужно установить еще одно условие?
Есть ли какой-либо метод, который я могу использовать здесь? К сожалению, метод endWith не работает для меня.