相关疑难解决方法(0)

文件存在且IS目录,但listFiles()返回null

File.listFiles()建议的文档null只有在调用它的文件不是目录的情况下才会返回.

我有以下内容:

String dir = "/storage/emulated/0";
File f = new File(dir);
Log.v("Files",f.exists()+"");
Log.v("Files",f.isDirectory()+"");
Log.v("Files",f.listFiles()+"");
Run Code Online (Sandbox Code Playgroud)

日志显示:

true
true
null
Run Code Online (Sandbox Code Playgroud)

由于某种原因,即使被识别为有效目录,listFiles(也会返回.我对Android文件层次结构行为并不是很熟悉,所以我猜测问题就在那里.nullFile

作为参考,我正在我的Moto X上进行调试,无论手机是否插入我的电脑,结果都是一样的 - 所以我认为这不会与插入时的安装有关.

java io android file-permissions file

63
推荐指数
7
解决办法
4万
查看次数

File.listFiles() 在 android 11 中返回 null

我正在创建一个应用程序来测试File.listFiles()方法是否有效。为了检查这一点,我创建了一个应用程序并在那里使用了它,但是返回 null 代替了数组。这是我的完整代码请帮忙,我已授予 android 11 的所有权限

MainActivity.java

package com.rajkumarcreations.file;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.provider.Settings;
import android.widget.TextView;
import android.widget.Toast;

import org.w3c.dom.Text;

import java.io.File;

import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
import static android.os.Build.VERSION.SDK_INT;

public class MainActivity extends AppCompatActivity {
TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) findViewById(R.id.btn);
        if(!checkPermission()){
            requestPermission();
        }else{
            File file = new File(Environment.getExternalStorageDirectory()+"/Download/");
            File[] allfiles …
Run Code Online (Sandbox Code Playgroud)

java android java-io android-11

7
推荐指数
2
解决办法
4853
查看次数

标签 统计

android ×2

java ×2

android-11 ×1

file ×1

file-permissions ×1

io ×1

java-io ×1