标签: android-file

如何获取文件的mime类型,在android上的文件名中有点

我使用以下代码获取mime类型的文件:

    private String getMimeType(String url) {

        String type = null;
        String extension = MimeTypeMap.getFileExtensionFromUrl(url);
        Log.e("extension ", extension);

        if (extension != null) {
        MimeTypeMap mime = MimeTypeMap.getSingleton();
        type = mime.getMimeTypeFromExtension(extension);
        }
        return type;
    }

   where url is the absolute file path

    i am getting file and folder by the following way
    File file_arr [];
    file_arr = new   File(Environment.getExternalStorageDirectory().getPath()).listFiles();
    url = file_arr[i].getAbsolutePath();
Run Code Online (Sandbox Code Playgroud)

这是正确的,但它返回null,对于哪个文件在其文件名中有点".".

例如

如果文件名是picture1.jpg那么getMimeType()返回image/jpeg

在文件名的情况下,例子27-05-2012 22.05.14.jpg的名称中有点(.),则getMimeType()返回null.

我已将文件重命名为27-05-2012.jpg,其返回图像/ jpeg.

我的问题如何获取Android上所有类型的文件名(有点或特殊字符)的mime类型?请帮我.

filenames android mime-types android-file

0
推荐指数
1
解决办法
7054
查看次数

使用Intent.ACTION_GET_CONTENT选择一个文件

我正在按照本教程,我在模拟器上测试它,当我运行这个项目并单击它崩溃的按钮并给我以下错误

07-27 06:33:30.324: E/AndroidRuntime(10972): FATAL EXCEPTION: main
07-27 06:33:30.324: E/AndroidRuntime(10972): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.GET_CONTENT typ=file/ * }
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.app.Activity.startActivityForResult(Activity.java:2817)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at com.exercise.AndroidPick_a_File.AndroidPick_a_File$1.onClick(AndroidPick_a_File.java:35)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.view.View.performClick(View.java:2408)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.view.View$PerformClick.run(View.java:8816)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.os.Handler.handleCallback(Handler.java:587)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.os.Looper.loop(Looper.java:123)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at android.app.ActivityThread.main(ActivityThread.java:4627)
07-27 06:33:30.324: E/AndroidRuntime(10972):    at java.lang.reflect.Method.invokeNative(Native Method) …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-file

0
推荐指数
1
解决办法
4599
查看次数

Android:删除文件名中的禁止字符

在我的应用程序中,我正在创建一个文件。有时我的应用程序会崩溃,这是因为文件名包含不允许的字符。我知道我可以使用 删除这些字符String.replace(),但我不知道哪些字符是禁止的。所以我的问题:哪些字符是被禁止的,或者是否有一种方法可以用来删除所有禁止的字符?

java string android special-characters android-file

0
推荐指数
1
解决办法
5817
查看次数

如何在Android中获取包含图像的目录列表

我使用以下代码获取目录列表

String ROOT_DIR = Environment.getExternalStorageDirectory().getPath();
Run Code Online (Sandbox Code Playgroud)

ROOT_DIR作为字符串传递

public static ArrayList<String> getDirectoryPaths(String directory) {
        ArrayList<String> pathArray = new ArrayList<>();
        File file = new File(directory);
        File[] listfiles = file.listFiles();
        if (listfiles != null) {

            for (int i = 0; i < listfiles.length; i++) {
                if (listfiles[i].isDirectory()) {
                    pathArray.add(listfiles[i].getAbsolutePath());
                }
            }

        }
        return pathArray;
    }
Run Code Online (Sandbox Code Playgroud)

`

它返回所有目录路径,但我想获取仅包含图像的图像的目录路径,例如在图库中显示的图像(相机,WhatsAppImages,远足等);我想要所有这些人的道路。

有任何想法吗?

android subdirectory android-file

0
推荐指数
1
解决办法
2552
查看次数