Android java获取路径中文件名

本文介绍了一种从完整文件路径中提取文件名及其后缀的有效方法,通过两个实用的Java函数实现,适用于图片和各类文件处理场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       平常时,我们多少都会接触到文件的使用情况,例如从手机的图库去取图片和视频,但是用intent调用,一般直接回返回来的一长串的地址,我们刚好需要的是文件名+后缀,等一些形式,这样子,就有时候我们就不知道怎么下手了,但是有的人也会说,用正则表达式也可以啊,的确可以,但是我想我自己找网上找的别人的一些,不错的方法,也值得我们学习。也是我自己实际项目中用到的,就记录一下,方便自己学习。

    上码:

       

    public class GetFileName {
        public String getFileName(String pathandname) {
            /**
             * 仅保留文件名不保留后缀
             */
            int start = pathandname.lastIndexOf("/");
            int end = pathandname.lastIndexOf(".");
            if (start != -1 && end != -1) {
                return pathandname.substring(start + 1, end);
            } else {
                return null;
            }
        }

        /**
         * 保留文件名及后缀
         */
        public String getFileNameWithSuffix(String pathandname) {
            int start = pathandname.lastIndexOf("/");
            if (start != -1) {
                return pathandname.substring(start + 1);
            } else {
                return null;
            }
        }
    }

我们看看实际效果:

 

 

 

其他文件名也可以参考这样去获取自己想要的文件名,前提是你先要拿到这文件的路径,你才可以去调用这个方法去实现。由于知识有限,有不足的,可以在【评论区】留意,我们一起去探讨学习,谢谢。

 

 


    //获取本地文件夹的图片格式
    private void filefload() {
        File scanner5Directory = new File(XXXXXXXXXX);
        if (scanner5Directory.isDirectory()) {
            for (File file : scanner5Directory.listFiles()) {
                String path = file.getAbsolutePath();
                if (path.endsWith(".jpg") || path.endsWith(".png") || path.endsWith(".jpeg")) {
                    list.add(path);
                }
            }
        }

    }

 

获取 Android 设备上的特定文件路径,你需要知道该文件的存储位置。以下是一些常见的文件存储位置及其路径: 1. 内部存储路径:`/data/data/<package_name>/files/` 2. 外部存储路径:`/storage/emulated/0/` 3. 公共图片路径:`/storage/emulated/0/Pictures/` 4. 公共文档路径:`/storage/emulated/0/Documents/` 5. 公共下载路径:`/storage/emulated/0/Download/` 下面是获取指定文件路径的示例代码: ``` // 获取内部存储路径下的指定文件路径 String filePath = getApplicationContext().getFilesDir().getPath() + File.separator + "filename.txt"; // 获取外部存储路径下的指定文件路径 String filePath = Environment.getExternalStorageDirectory().getPath() + File.separator + "filename.txt"; // 获取公共图片路径下的指定文件路径 String filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getPath() + File.separator + "filename.jpg"; // 获取公共文档路径下的指定文件路径 String filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS).getPath() + File.separator + "filename.doc"; // 获取公共下载路径下的指定文件路径 String filePath = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath() + File.separator + "filename.zip"; ``` 请注意,上述代码示例中的 `filename` 都是要获取文件名,你可以将其替换为你要获取文件名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值