繁体   English   中英

Android文件系统

[英]Android Filesystem

我一直在努力使它正常工作,但是我在某个地方绊脚石。

这是整个事情的主要来源。 而logcat的结果...有些有些多余。 我在onCreate上方有“ startingDirectory”,因此我复制并删除了私有...

String startingDirectory = Environment.getExternalStorageDirectory().getAbsolutePath();
    String directory = startingDirectory;
    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) == false) {
        Log.d(TAG, "Media is not mounted.");
    } else {
        Log.d(TAG, "Loading File Directory.");
        Log.d(TAG, "Directory listing for " + directory);
        File path = new File(directory);
        //File path = new File(directory);
        if (path.isDirectory()) {
            if (path.canRead()) {
                Log.d(TAG, "Readable directory");
            } else {
                Log.d(TAG, "Non-readable directory");
                if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                    Log.d(TAG, "Media is mounted");
                } else {
                    Log.d(TAG, "Media is not mounted");
                }

            }
        } else {
            Log.d(TAG, "Is not a directory.");
        }
    }

这是整个事情的07-13 01:13:45.705 4361-4361/? D/MainActivity: Loading File Directory. 07-13 01:13:45.705 4361-4361/? D/MainActivity: Directory listing for /storage/emulated/0 07-13 01:13:45.705 4361-4361/? D/MainActivity: Non-readable directory 07-13 01:13:45.706 4361-4361/? D/MainActivity: Media is mounted ... 07-13 01:13:45.705 4361-4361/? D/MainActivity: Loading File Directory. 07-13 01:13:45.705 4361-4361/? D/MainActivity: Directory listing for /storage/emulated/0 07-13 01:13:45.705 4361-4361/? D/MainActivity: Non-readable directory 07-13 01:13:45.706 4361-4361/? D/MainActivity: Media is mounted 07-13 01:13:45.705 4361-4361/? D/MainActivity: Loading File Directory. 07-13 01:13:45.705 4361-4361/? D/MainActivity: Directory listing for /storage/emulated/0 07-13 01:13:45.705 4361-4361/? D/MainActivity: Non-readable directory 07-13 01:13:45.706 4361-4361/? D/MainActivity: Media is mounted

我正在尝试获取当前目录的目录结构(staringDirectory)并将其放入一个类中...但是它似乎不会停留在不可读的位置

每当我修改某些文件和目录的权限时,这就是我的java.io.File类的setWritable和setReadable方法的allowFileAcess方法。 好吧,我仍然收到一条消息,但对我有用

public static void permitFileAcess(final File file) {
        if (!file.setWritable(true, true)) {
            log.e(new Object[] { "Could not set Writable permissions" });
        }
        if (!file.setReadable(true, true)) {
            log.e(new Object[] { "Could not set Readable permissions" });
        }
        if (!file.setExecutable(true, true)) {
            log.e(new Object[] { "Could not set Executable permissions" });
        }
    }

因此,如果要创建文件,请在操作前使用它。

private static boolean createFile(File parent, String fileName, boolean createDir) {
        boolean returnValue = false;
        if (parent.isDirectory()) {
            File newFile = new File(parent.getAbsolutePath(), fileName);
            permitFileAcess(newFile);
            if (createDir) {
                returnValue = newFile.mkdir();
            } else {
                try {
                    returnValue = newFile.createNewFile();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return returnValue;
    }

祝好运。

我正在尝试检索特定目录中的所有文件和目录。 制作一个简单的文件文件管理器。 如果我不查看文件,则不知道要加载哪个文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM