我将开发一个应用程序,用户可以从下载目录中选择文件。现在,我需要用户选择的文件的路径+名称。
DownloadManager dm = (DownlaodManager) getSystemService(DOWNLOAD_SERVICE);
通过这种方式,用户可以选择文件。现在,我需要选择文件的绝对路径。但是这里的问题是,如果用户选择一个文件,则该文件将处于打开状态(这不应该发生)
你们中的任何人都可以帮我吗?
使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
访问文件夹,并File.listFiles()
从该目录访问单个文件。
看这个粗略的例子,
写一个方法来浏览和从表中每个文件Downloads
目录,如果目录中找到Downloads
文件夹,列表中的文件太多,
public void getFilesFromDir(File filesFromSD) {
File listAllFiles[] = filesFromSD.listFiles();
if (listAllFiles != null && listAllFiles.length > 0) {
for (File currentFile : listAllFiles) {
if (currentFile.isDirectory()) {
getFilesFromDir(currentFile);
} else {
if (currentFile.getName().endsWith("")) {
// File absolute path
Log.e("File path", currentFile.getAbsolutePath());
// File Name
Log.e("File path", currentFile.getName());
}
}
}
}
}
获取Downloads
目录的路径,并将其作为上述方法中的参数传递,
File downloadDir = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOWNLOADS).getAbsolutePath());
getFilesFromDir(downloadDir);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句