Android 如何列出特定目录下的所有文件(带扩展名和不带扩展名)
我目前能够获得所有具有特定文件扩展名的文件Android 如何列出特定目录下的所有文件(带扩展名和不带扩展名),android,file,fileutils,hidden-files,Android,File,Fileutils,Hidden Files,我目前能够获得所有具有特定文件扩展名的文件 private List<String> getListFiles(File parentDir) { ArrayList<String> inFiles = new ArrayList<String>(); File[] files = parentDir.listFiles(); for (File file : files) { if (file.isDirecto
private List<String> getListFiles(File parentDir) {
ArrayList<String> inFiles = new ArrayList<String>();
File[] files = parentDir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
inFiles.addAll(getListFiles(file));
}
else {
if (file.getName().endsWith(".jpg")||file.getName().endsWith(".jpeg")) {
inFiles.add(file.getAbsolutePath());
}
Log.d("fullpath", "full path is" + file.getAbsolutePath());
}
}
return inFiles;
}
如何做到这一点?请帮帮我 首先将所有文件路径存储在一个arraylist中,然后尝试以下代码:
if (arrayList_filenames.size() != 0) {
for(int count = 0;count<arrayList_filenames.size() !=0){
String extension = arrayList_filenames.get(count).toString().substring(arrayList_filenames.get(count).toString().lastIndexOf("."));
Log.d("displayingextension", "**** " + extension);
}
}
if(arrayList\u filenames.size()!=0){
对于(int count=0;count首先将所有文件路径存储在一个arraylist中,然后尝试以下代码:
if (arrayList_filenames.size() != 0) {
for(int count = 0;count<arrayList_filenames.size() !=0){
String extension = arrayList_filenames.get(count).toString().substring(arrayList_filenames.get(count).toString().lastIndexOf("."));
Log.d("displayingextension", "**** " + extension);
}
}
if(arrayList\u filenames.size()!=0){
对于(int count=0;count您正在检查代码中的文件扩展名。如果您这样修改代码,您还将获得其他文件
private List<String> getListFiles(File parentDir) {
ArrayList<String> inFiles = new ArrayList<String>();
File[] files = parentDir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
inFiles.addAll(getListFiles(file));
}
else {
inFiles.add(file.getAbsolutePath());
}
}
return inFiles;
}
私有列表getListFiles(文件parentDir){
ArrayList inFiles=新的ArrayList();
File[]files=parentDir.listFiles();
用于(文件:文件){
if(file.isDirectory()){
addAll(getListFiles(file));
}
否则{
add(file.getAbsolutePath());
}
}
返回填充;
}
您正在检查代码中的文件扩展名。如果您这样修改代码,您还将获得其他文件
private List<String> getListFiles(File parentDir) {
ArrayList<String> inFiles = new ArrayList<String>();
File[] files = parentDir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
inFiles.addAll(getListFiles(file));
}
else {
inFiles.add(file.getAbsolutePath());
}
}
return inFiles;
}
私有列表getListFiles(文件parentDir){
ArrayList inFiles=新的ArrayList();
File[]files=parentDir.listFiles();
用于(文件:文件){
if(file.isDirectory()){
addAll(getListFiles(file));
}
否则{
add(file.getAbsolutePath());
}
}
返回填充;
}
您可以使用此方法
private static void getListFiles(File mInputDir,ArrayList<File> mFilesExt,ArrayList<File> mFilesNoExt) {
File[] files = mInputDir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
getListFiles(file,mFilesExt,mFilesNoExt);
}
else {
if (file.getName().contains(".")) {
mFilesExt.add(file);
}else{
mFilesNoExt.add(file);
}
}
}
}
private static void getListFiles(文件mInputDir、ArrayList mFilesExt、ArrayList mFilesNoExt){
File[]files=mInputDir.listFiles();
用于(文件:文件){
if(file.isDirectory()){
getListFiles(文件、mFilesExt、MFilesOut);
}
否则{
if(file.getName()包含(“.”){
添加(文件);
}否则{
添加(文件);
}
}
}
}
并使用要扫描的输入目录和带有/不带扩展名的文件数组调用此方法
File mInputDir = new File("/sdcard/Pictures/your_dir");
ArrayList<File> mFilesExt = new ArrayList<>();
ArrayList<File> mFilesNoExt = new ArrayList<>();
getListFiles(mInputDir,mFilesExt,mFilesNoExt);
File mInputDir=新文件(“/sdcard/Pictures/your_dir”);
ArrayList mFilesExt=新的ArrayList();
ArrayList MFilesOut=新的ArrayList();
getListFiles(mInputDir、mFilesExt、mFilesNoExt);
您可以使用此方法
private static void getListFiles(File mInputDir,ArrayList<File> mFilesExt,ArrayList<File> mFilesNoExt) {
File[] files = mInputDir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
getListFiles(file,mFilesExt,mFilesNoExt);
}
else {
if (file.getName().contains(".")) {
mFilesExt.add(file);
}else{
mFilesNoExt.add(file);
}
}
}
}
private static void getListFiles(文件mInputDir、ArrayList mFilesExt、ArrayList mFilesNoExt){
File[]files=mInputDir.listFiles();
用于(文件:文件){
if(file.isDirectory()){
getListFiles(文件、mFilesExt、MFilesOut);
}
否则{
if(file.getName()包含(“.”){
添加(文件);
}否则{
添加(文件);
}
}
}
}
并使用要扫描的输入目录和带有/不带扩展名的文件数组调用此方法
File mInputDir = new File("/sdcard/Pictures/your_dir");
ArrayList<File> mFilesExt = new ArrayList<>();
ArrayList<File> mFilesNoExt = new ArrayList<>();
getListFiles(mInputDir,mFilesExt,mFilesNoExt);
File mInputDir=新文件(“/sdcard/Pictures/your_dir”);
ArrayList mFilesExt=新的ArrayList();
ArrayList MFilesOut=新的ArrayList();
getListFiles(mInputDir、mFilesExt、mFilesNoExt);
listfiles()不返回父文件夹的所有文件???@SahdevRajput74是的,这是关于listfiles()的问题不返回父文件夹的所有文件???@SahdevRajput74是的,这是关于eah的问题,但如何识别那些没有扩展名的文件?(比如我如何列出JPEG文件)我想单独列出它们。因为我需要对那些没有任何扩展名的文件应用一些操作。扩展名位于点
之后,这很难识别吗?您可以检查文件名是否为
,如file.getname()。包含(“.”)
clever-answer。我解决了我的问题。谢谢@salman-wahedclover-answer。我也解决了我的问题。谢谢@salman-wahedGreat!如果你接受答案会很好:)是的,但是如何识别那些没有扩展名的文件?(比如我如何列出JPEG文件)我想单独列出它们。因为我需要对那些没有任何扩展名的文件应用一些操作。扩展名位于点
之后,这很难识别吗?您可以检查文件名是否为
,如file.getname()。包含(“.”)
Clever-answer。我解决了我的问题。谢谢@salman-WahedClever-answer。我也解决了我的问题。谢谢@salman-WahedAnswer!很高兴听到你的回答!如果你接受答案会很好:)这正是我想要的。谢谢@Bhumikt这正是我想要的。谢谢@bhumik