1.实现此功能,首先你要将权限问题搞明白
如果你手机是Android6.0之前的版本,则只需要在Manifest文件中添加这两条权限即可
(读写权限)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
如果你手机是Android6.0以后的版本,不仅仅需要在Manifest文件中添加这两条权限,而且还需要在代码中再次动态添加读写权限,代码写在Oncreat()运行,代码如下:
String[] PERMISSIONS = {Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE};
int PERMISSION_CODE = 123;
if (Build.VERSION.SDK_INT>Build.VERSION_CODES.LOLLIPOP){
if(ActivityCompat.checkSelfPermission(MainActivity.this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MainActivity.this,PERMISSIONS ,PERMISSION_CODE );
}
}
这样当你进入软件就会弹出一个窗口,询问你是否允许开启此权限
2.编写获取某个文件夹下的所有文件的方法,代码如下:
public ArrayList<String> getAllDataFileName(String folderPath){
ArrayList<String> fileList = new ArrayList<>();
File file = new File(folderPath);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
System.out.println("文 件:" + tempList[i].getName());
String fileName = tempList[i].getName();
if (fileName.endsWith(".bin")){ // 根据自己的需要进行类型筛选
fileList.add(fileName);
}
}
}
return fileList;
}
这样就OK了,是不是很easy