如何解决如何从Java中的android的可移动存储SD卡获取所有pdf文件的链接?
public String findBooks() {
String pdf = ".pdf";
String epub = ".epub";
File dir = Environment.getExternalStorageDirectory();
Queue<File> toVisit = new PriorityQueue<>();
toVisit.add(dir);
String pdfs = "";
int pdfCount = 0;
if (toVisit.size() != 0) {
while(true){
File file = toVisit.remove();
File[] tmpList = file.listFiles();
int i;
for(i = 0; i < tmpList.length; i++){
if (tmpList[i].isDirectory()) {
toVisit.add(tmpList[i]);
}
else if (tmpList[i].getName().endsWith(pdf) || tmpList[i].getName().endsWith(epub) ){
pdfs += tmpList[i].toString() + ",";
pdfCount += 1;
}
}
if(toVisit.size() == 0){
Toast.makeText(getReactApplicationContext(),"End of search: "+ String.valueOf(pdfCount),0).show();
break;
}
}
}
return pdfs;
}
解决方法
我已使用以下方法成功获取了外部SD卡中pdf的所有链接
该代码适用于external storage,而不适用于removable storage。
我想我应该也可以使用相同的方法从内部存储中获取pdfs
否,因为您无权访问internal storage,除了为应用程序专门设置的目录(例如getFilesDir()
上的Context
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。