Я не могу получить список файлов, заканчивающихся на .pdf, я все перепробовал, в папке указано все остальное, кроме pdf, что в этом плохого. Затем программа отображает список в виде
Папка содержит 29 файлов PDF и 5 файлов изображений (jpg). Пожалуйста, не предлагайте использовать File[] fileList = каталог.listFiles();, если бы это было сделано, ничего бы не получилось.
Все разрешения установлены, иначе я бы не получил 5 имен файлов изображений
private void getFileList()
{
fileList = new ArrayList();
File directory = getPDFDirectory();
try( DirectoryStream
stream =
Files.newDirectoryStream( directory.toPath(), "*.*" ))
{
stream.forEach( path ->
{
fileList.add( path.getFileName().toString() );
});
Collections.sort( fileList );
}
catch( IOException e )
{
Toast.makeText( this, "Cannot read folder", Toast.LENGTH_SHORT );
}
}
А для тех, кому интересно, вот код getPDFDirectory()
/**
*
* @return PDF Folder as a file
*/
@NonNull
private File getPDFDirectory()
{
return new File( Environment
.getExternalStorageDirectory()
.getPath() + File.separatorChar +
"Documents" + File.separatorChar +
"My App" + File.separatorChar +
"Files" );
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... -filenames