我尝试从移动设备获取所有文件(外部SD卡和手机存储设备(内置移动内存))。
我尝试使用此代码Environment.getExternalStorageDirectory()
。但是从这个我只能得到SD卡文件而不是手机存储。
请帮助我如何获得内存位置路径或文件。
答案 0 :(得分:1)
File file[] = Environment.getExternalStorageDirectory().listFiles();
recursiveFileFind(file);
public void recursiveFileFind(File[] file1){
int i = 0;
String filePath="";
if(file1!=null){
while(i!=file1.length){
filePath = file1[i].getAbsolutePath();
if(file1[i].isDirectory()){
File file[] = file1[i].listFiles();
recursiveFileFind(file);
}
i++;
//Log.d(i+"", filePath);
}
}
}
如果这不起作用,那么在下面的代码中你可以给出外部路径和
获取所有文件。
private void getAllFilesOfDir(File directory) {
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() ) { // it is a folder...
getAllFilesOfDir(file);
}
else { // it is a file...
Log.d(TAG, "File: " + file.getAbsolutePath() + "\n");
}
}
}
}
}
答案 1 :(得分:0)
此代码将提供内部文件。
String[] SavedFiles;
ArrayList<String> arrList;
SavedFiles = getApplicationContext().fileList();
arrList = new ArrayList<String>();
if(SavedFiles != null)
{
for(int i=0; i<SavedFiles.length; i++)
{
arrList.add(SavedFiles[i]);
}
}