java获取文件名(前缀和后缀以及全名)



package com.ratel.test;

import java.io.File;

/**
 * @业务描述:
 * @package_name: com.ratel.test
 * @project_name: ssm
 * @author: ratelfu@qq.com
 * @copyright (c) ratelfu 版权所有
 */
public class MyTest {

    public static void main(String[] args) {
        String fileName = " G:\\Java_Source\\navigation_tigra_menu\\demo1\\img\\lev1_arrow.gif ";

        methodOne(fileName);
        System.out.println("====================");
        methodtwo(fileName);
        System.out.println("====================");
        methodThree(fileName);
        System.out.println("====================");
        getFullNameOne();
        System.out.println("====================");
        getFullNameTwo();
        System.out.println("====================");
        getPrefixNameOne();
        System.out.println("====================");
        getPrefixNameTwo();
        System.out.println("====================");
        getPrefixNameThree();
        System.out.println("====================");
        getSuffixNameOne();
        System.out.println("====================");
        getSuffixNameTwo();

    }

    public static void methodOne(String fileName) {

        File tempFile = new File(fileName.trim());
        String fName = tempFile.getName();
        System.out.println("方法一的:fileName = " + fName);

    }

    public static void methodtwo(String fileName) {

        String fName = fileName.trim();
        String NameOne = fName.substring(fName.lastIndexOf("/") + 1);
        System.out.println("方法二的第一种:fileName = " + NameOne);
        String NameTwo = fName.substring(fName.lastIndexOf("\\") + 1);
        System.out.println("方法二的第二种:fileName = " + NameTwo);

    }

    public static void methodThree(String fileName) {

        String fName = fileName.trim();
        ///**split里面必须是正则表达式,"\\"的作用是对字符串转义*/
        String temp[] = fName.split("\\\\");
        String tempName = temp[temp.length - 1];
        System.out.println("方法三的:fileName = " + tempName);

    }

    //获取文件的全名:

    public static void getFullNameOne(){
        String fileName="E:\\file.docx";
        String temp[]=fileName.split("\\\\");
        String fileNameNow=temp[temp.length-1];
        System.out.println(fileNameNow);
    }

    public static void getFullNameTwo(){
        String fileName="E:\\file.pdf";
        String fileNameNow = fileName.substring(fileName.lastIndexOf("\\")+1);
        System.out.println(fileNameNow);
    }

    //获取文件前缀名

    public static void getPrefixNameOne(){

        String filename = "file.docx";
        String caselsh = filename.substring(0,filename.lastIndexOf("."));
        System.out.println(caselsh);
    }

    public static void getPrefixNameTwo(){
        String filename = "file.docx";
        String caselsh = filename.split("\\.")[0];
        System.out.println(caselsh);
    }
    //本方法主要是为了解决split函数不能截取"." 一种曲线救国策略,简单方式是上一种用"\\"转义解决
    public static void getPrefixNameThree(){
        String filename = "file.docx";
        //要是写成:filename.replace(".", "¥");是没有效果的,
        filename = filename.replace(".", "¥");
        String caselsh = filename.split("¥")[0];
        System.out.println(caselsh);
    }
    //获取文件后缀名

    public static void getSuffixNameOne(){
        String filename = "file.txt";
        String[] strArray = filename.split("\\.");
        int suffixIndex = strArray.length -1;
        System.out.println(strArray[suffixIndex]);
    }
    public static void getSuffixNameTwo(){
        String fileName="file.txt";
        String fileTyle=fileName.substring(fileName.lastIndexOf(".")+1,fileName.length());
        System.out.println(fileTyle);
    }
}
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

T-OPEN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值