本文介绍了列出SD卡上的所有文本文件present的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我用下面的code列出下来SD卡上的所有文件present。不过,我只是想列出了所有的文本文件,可一些身体告诉我如何添加文件过滤器。同样地,我需要获取图像的文件。以下是我的code:
公开的ArrayList<串GT;的GetFiles(字符串目录路径){
ArrayList的<串GT; MYFILES =新的ArrayList<串GT;();
文件f =新的文件(目录); f.mkdirs();
文件[] =文件f.listFiles();
如果(files.length == 0)
返回null;
其他{
的for(int i = 0; I< files.length;我++)
MyFiles.add(文件[I] .getName());
} 返回MYFILES;
}
解决方案
使用 .endsWith()
从方法的的Java String类以检查文件从扩展文件路径。
方法:
公共布尔的endsWith(字符串后缀)
您code类似,
私人列表<串GT; ReadSDCard()
{
//它必须与SD卡中的目录相匹配
文件f =新的文件(路径); 文件[] =文件f.listFiles(); 的for(int i = 0; I< files.length;我++)
{
文件file =文件[I]
/ *它假定路径中的所有文件都支持的类型* /
串文件路径= file.getPath();
如果(filePath.endsWith(TXT))//条件检查.txt文件扩展名
tFileList.add(文件路径);
}
返回tFileList;
}
I am using the following code to list down all the files present on the SD card. However I just want to list down all the text files can some body tell me how to add a file filter. Similarly I need to fetch the image files as well. Following is my code:
public ArrayList<String> GetFiles(String DirectoryPath) {
ArrayList<String> MyFiles = new ArrayList<String>();
File f = new File(DirectoryPath);
f.mkdirs();
File[] files = f.listFiles();
if (files.length == 0)
return null;
else {
for (int i=0; i<files.length; i++)
MyFiles.add(files[i].getName());
}
return MyFiles;
}
解决方案
Use .endsWith()
method from Java String Class to check File Extension from file path.
Method:
public boolean endsWith(String suffix)
Your Code something like,
private List<String> ReadSDCard()
{
//It have to be matched with the directory in SDCard
File f = new File("your path");
File[] files=f.listFiles();
for(int i=0; i<files.length; i++)
{
File file = files[i];
/*It's assumed that all file in the path are in supported type*/
String filePath = file.getPath();
if(filePath.endsWith(".txt")) // Condition to check .txt file extension
tFileList.add(filePath);
}
return tFileList;
}
这篇关于列出SD卡上的所有文本文件present的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!