java 获取已知文件扩展名的代码

 更新时间:2017年02月21日 21:39:53   投稿:mdxy-dxy  
java 编写程序获取已知文件的扩展名. 注意: abc.txt的扩展名是txt, abc.java.txt的扩展名也是txt.,需要的朋友可以参考下

一、需求分析

1、获取已知文件的扩展名----------------------------------------------》要先读到文件,得到文件名
2、abc.txt的扩展名是txt, abc.Java.txt的扩展名也是txt-------------》获取扩展名的正确性保证

二、技术难点

1、将一个给出的路径转换成一个文件对象,并获取到完整的文件名

直接用new File()类就可以实现,然后通过getName获取到文件名

2、怎么通过文件名获取到扩展名?

通过对文件名进行正则表达式的分割可以得到

代码实现:(PS添加了给出指定目录获取循环目录下的文件扩展名的函数)

package com.itheima;

import java.io.File;

/**
 * 7、 编写程序获取已知文件的扩展名. 注意: abc.txt的扩展名是txt, abc.java.txt的扩展名也是txt.
 * 
 * @author 281167413@qq.com
 */

public class Test7 {

	public static void main(String[] args) {
		String srcPath = "D:/java/java.copy.doc";

		getFilenameExtension(srcPath);
	}

	// 获取指定文件的扩展名
	public static void getFilenameExtension(String srcPath) {
		// 将源路径转换成文件对象
		File file = new File(srcPath);

		if (file.isFile()) {
			String name = file.getName();

			String[] exName = name.split("\\.");

			System.out.println(exName[exName.length - 1]);
		} else {
			System.out.println("It's not a file!");
		}
	}

	// 获取指定目录下的文件的扩展名
	public static void getDirFilenameExtension(String srcPath) {
		// 将源路径转换成目录对象
		File[] file = (new File(srcPath)).listFiles();
		for (int i = 0; i < file.length; i++) {
			if (file[i].isDirectory()) {
				// 准备复制的源文件夹
				srcPath = srcPath + "/" + file[i].getName();
				getDirFilenameExtension(srcPath);
			} else {
				// 源文件
				File sourceFile = file[i];
				// 文件名字
				String name = sourceFile.getName();

				String[] exName = name.split("\\.");

				System.out.println(exName[exName.length - 1]);
			}
		}
	}
}

具体其它的方法可以参考脚本之家之前发布的文章。

相关文章

  • JavaFx Tooltip悬浮提示使用及自定义代码详解

    JavaFx Tooltip悬浮提示使用及自定义代码详解

    本篇是基于TornadoFx框架对Tooltip组件进行讲解,使用Kotlin语言,和传统Java使用有所区别,本章节包括对tooltip的样式定制化以及指定窗口显示,对JavaFx Tooltip悬浮提示使用及自定义相关知识感兴趣的朋友一起看看吧
    2021-12-12
  • JAVA 运算符归纳总结

    JAVA 运算符归纳总结

    这篇文章主要对Java语法基础之运算符进行了详细的归纳总结,需要的朋友可以参考
    2017-04-04
  • Java看完秒懂版熔断和降级的关系

    Java看完秒懂版熔断和降级的关系

    这篇文章主要介绍了Java熔断和降级的关系,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 使用SpringAOP获取用户操作日志入库

    使用SpringAOP获取用户操作日志入库

    这篇文章主要介绍了使用SpringAOP获取用户操作日志入库,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • java web实现邮箱激活与忘记密码

    java web实现邮箱激活与忘记密码

    这篇文章主要为大家详细介绍了java web实现邮箱激活与忘记密码、重置密码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 解析WeakHashMap与HashMap的区别详解

    解析WeakHashMap与HashMap的区别详解

    本篇文章是对WeakHashMap与HashMap的区别进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 详解Elasticsearch如何把一个索引变为只读

    详解Elasticsearch如何把一个索引变为只读

    这篇文章主要为大家介绍了详解Elasticsearch如何把一个索引变为只读示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • java中synchronized(同步代码块和同步方法)详解及区别

    java中synchronized(同步代码块和同步方法)详解及区别

    这篇文章主要介绍了 java中synchronized(同步代码块和同步方法)详解及区别的相关资料,需要的朋友可以参考下
    2017-02-02
  • Java三个类加载器及它们的相互关系

    Java三个类加载器及它们的相互关系

    Java在需要使用类别的时候,才会将类别加载,Java的类别载入是由类别载入器(Class loader)来达到的,预设上,在程序启动之后,主要会有三个类别加载器,文中详细介绍了这三个类加载器,需要的朋友可以参考下
    2021-06-06
  • Java多线程之同步工具类CountDownLatch

    Java多线程之同步工具类CountDownLatch

    这篇文章主要介绍了Java多线程之同步工具类CountDownLatch,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有框架服务之后执行,下面一起来学习学习内容吧
    2021-10-10

最新评论