精华内容
下载资源
问答
  • ------------------------------------》要先读到文件,得到文件名2、abc.txt的扩展名是txt, abc.Java.txt的扩展名也是txt-------------》获取扩展名的正确性保证二、技术难点1、将一个给出的路径转换成一个文件对象...

    一、需求分析

    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]);

    }

    }

    }

    }

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

    展开全文
  • ------------------------------------》要先读到文件,得到文件名2、abc.txt的扩展名是txt, abc.Java.txt的扩展名也是txt-------------》获取扩展名的正确性保证二、技术难点1、将一个给出的路径转换成一个文件对象...

    一、需求分析

    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]);

    }

    }

    }

    }

    具体其它的方法可以参考聚米学院之前发布的文章。

    展开全文
  • 获取文件扩展名,在开发中很常见的问题,而且百度一下,网上很多方法,但很多是不健壮的代码片段。比如如下的例子/***这种方法有很明显的BUG,如果文件没有扩展名,并且路径中含有".",那么会出问题*@paramfilePath*@...

    获取文件扩展名,在开发中很常见的问题,而且百度一下,网上很多方法,但很多是不健壮的代码片段。比如如下的例子/**

    * 这种方法有很明显的BUG, 如果文件没有扩展名,并且路径中含有 ".",那么会出问题

    * @param filePath

    * @return

    */

    public static String getExtendNormal(String filePath) {

    String extension = "";

    int index = filePath.lastIndexOf('.');

    if (index > 0) {

    extension = filePath.substring(index + 1);

    }

    return extension;

    }

    这就很明细没有考虑到路径中有 . 号,并且没有扩展名的情况,在Linux环境下,很多文件是不需要扩展名的,而且路径中有 . 号也常见, 比如下面的测试:public static void main(String[] args) {

    String[] pathExamples = {"c:\\abc\\222.zip", "c:\\abc.def\\ccc", "c:\\abc\\abc.tar.gz", "/home/yihaomen/abc.def/afile"};

    for (String pathExample : pathExamples) {

    String s = getExtendNormal(pathExample);

    System.out.println(s);

    }

    }

    输出的是:zip

    def\ccc

    gz

    def/afile

    很明显这是错误的结果。

    加强版获取文件扩展名方法/**

    * 支持文件名中间有. 号并且没有扩展名的情况.

    * @param filePath

    * @return

    */

    public static String getExtendImprove(String filePath) {

    String extension = "";

    int indexOfLastExtension = filePath.lastIndexOf(".");

    // 检查windows, linux 最后一个文件分隔符

    int lastSeparatorPosWindows = filePath.lastIndexOf("\\");

    int lastSeparatorPosUnix = filePath.lastIndexOf("/");

    // 最后文件分隔符位置, 取最大值

    int indexOflastSeparator = Math.max(lastSeparatorPosWindows, lastSeparatorPosUnix);

    // 确保.分隔符在文件分隔符之后.

    if (indexOfLastExtension > indexOflastSeparator) {

    extension = filePath.substring(indexOfLastExtension + 1);

    }

    return extension;

    }

    这种方法,用文件分隔符,去最后一个.号去做判断,然后得到扩展名,这样就会好很多。但这也不是最健壮的方法,比如tar.gz 其实是一个扩展名,而不仅仅是.gz, 这种情况怎么处理,我这里用了hardCode的方法做测试,暂时没想到更好的方法 例子代码如下:public static String getExtendHardCode(String filePath) {

    String[] hardCodeExtends = {"tar.gz"};

    boolean isHardCode = false;

    String extension = "";

    for(String s: hardCodeExtends) {

    if (filePath.toLowerCase().endsWith(s.toLowerCase())) {

    extension = s;

    isHardCode = true;

    break;

    }

    }

    if (isHardCode) {

    return extension;

    }

    int indexOfLastExtension = filePath.lastIndexOf(".");

    // 检查windows, linux 最后一个文件分隔符

    int lastSeparatorPosWindows = filePath.lastIndexOf("\\");

    int lastSeparatorPosUnix = filePath.lastIndexOf("/");

    // 最后文件分隔符位置, 取最大值

    int indexOflastSeparator = Math.max(lastSeparatorPosWindows, lastSeparatorPosUnix);

    // 确保.分隔符在文件分隔符之后.

    if (indexOfLastExtension > indexOflastSeparator) {

    extension = filePath.substring(indexOfLastExtension + 1);

    }

    return extension;

    }

    这样,既考虑到特殊的扩展名,也考虑到特殊路径没有扩展名的问题。从自己编码得到文件扩展名的角度来说,这应该是最好的方法了。当然这只是例子,有需要自己还要修改。

    当然,其实很多JAR包都已经有现成的工具类了,只要引入包就可以直接调用. 比如 common-io 包。

    commons-io

    commons-io

    2.7

    public static String getExtendByCommonio(String filePath) {

    return FilenameUtils.getExtension(filePath);

    }

    但这种方法,好像还是不能解决tar.gz这种特殊的扩展名的识别。所以如果要求比较高,还是采用前面介绍的方法.

    展开全文
  • 2、abc.txt的扩展名是txt, abc.java.txt的扩展名也是txt-------------》获取扩展名的正确性保证   二、技术难点 1、将一个给出的路径转换成一个文件对象,并获取到完整的文件名 直接用new Fi

    一、需求分析

    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]);
    			}
    		}
    	}
    }


     

    展开全文
  • * 获取指定目录下,指定扩展名文件(包含子目录中的) * 这些文件的绝对路径写入到一个文本文件中 * 简单说,就是建立一个指定扩展名文件的列表 * 思路: * 1,必须进行深度遍历 * 2,要在遍历的过程中...
  • /*** File文件综合应用* 需求:获取指定目录下面,指定扩展名文件,将文件的绝对路径写到文本文件当中。* * 思路:1.需要深度遍历。--递归* 2.遍历的过程中过滤指定扩展名文件--过滤器FileNameFilter,将文件...
  • 获取指定目录下,指定扩展名文件(包含子目录中的),把这些文件的绝对路径写入到一个文本文件中。 思路: 1.必须深度遍历 2.要在遍历的过程中进行过滤,将符合条件的内容存储到容器中 3.对容器中的内容进行遍历并...
  • 虽然网上有很多这样的代码,但是我感觉都有问题,网上的代码很多都需要拿过来执行一下才知道有没有问题,如果是多层目录结构的时候,会把你的相同文件名称也干掉,而我写的这个即使是需要删除的文件后缀...
  • Java获取目录下所有文件的名称

    万次阅读 2018-12-13 11:29:41
    文件路径为"D:\MyWorkDocuments" String basePath="D:\MyWorkDocuments"; String[] list=new File(basePath).list(); 知识点扩展Java文件类以抽象的方式代表文件名和目录路径。该类...
  • // 设置只过滤扩展名为.xls的Excel文件 //String firstNum = jt.getText();//获取输入框值 int i = chooser.showOpenDialog(this);// 打开窗口 if (i == JFileChooser.APPROVE_OPTION) { this....
  • Java文件操作

    2017-10-10 22:14:32
    1.”\” 和 “/” 的差别: ...2.文件扩展名获取方法; 在文件中以最后一个”.”分割,“. + 扩展名”,所以利用lastIndexOf()函数获取到最后一个”.”的位置,然后在用substring()函数根据 lastInd
  • 场景 ... Object-c有NSString,都可以对路径进行处理, 比如获取扩展名, 也就是一行代码的问题. 说明 1.Windows Desktop编程里的Shell库里就有相关的路径处理函数, 可以说是对C++路径不足的补充,
  • 不知是不是对扩展名也有要求(我没有试过)?不过好象是区分大小的(因为我试过把这个名字的首字母大写了,就不行),反正我试过几个名字,就只有配置文件名为log4j.properties的才会通过。而且这个现象与框架无关,比如:...
  • java--io工具类

    2018-12-27 17:56:10
    目录 IO工具类FilenameUtils概述 常用方法: 代码 IO工具类FilenameUtils概述 这个工具类是用来处理...getExtension(String path):获取文件扩展名; getName():获取文件名; isExtension(String fileNam...
  • JAVA中的资源绑定器

    2020-07-11 23:27:24
    在写路径的时候,路径后面的扩展名不能写 public class ResourceBundleTest01 { public static void main(String[] args) { /* 资源绑定器:只能绑定.properties文件,并且这文件必须放到类路径
  • java之IO流(commons-IO)

    2019-01-10 16:13:00
    一.commons-IO 创建lib文件夹 将commons-io.jar拷贝到lib文件夹 ... 二.FilenameUtils 用来处理文件名(包含文件路径)的,可以解决不同操作系统文件名称规范...getExtension(String path):获取文件扩展名; ...
  • java File

    千次阅读 2011-03-02 20:29:00
    File(文件)这个名字有一定的误导性;我们可能认为他指待的是一个文件,实时上并非如此。他即代表一个目录下一组文件的名称,也代表一个特定文件...如果我们想获得一个受限制的列表,比如说:我只获取指定目录下扩展名
  • 3、获取文件扩展名; 4、文件的重命名; 5、获取某个文件的详细信息; 6、计算某个文件的大小; 7、文件大小的格式化; 8、获取某个路径下的文件列表; 9、获取某个目录下的文件列表; 10、目录的新建、删除; 11、...
  • 获取指定目录下,指定扩展名文件(含子目录),并将这些文件的绝对路径写到一个文本文件中。也就是建立一个指定扩展名文件列表 1.深度遍历 2.过滤器->容器 3.写入文件 import java.util.List; import java....
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
  • java.util包下提供的一个 资源绑定器,便于获取属性配置文件的内容 1. 使用以下这种方式的时候,属性配置xxx.properties文件 2. 必须放在类路径下src 3. 只能绑定xxx.properties文件 4. 路径扩展名(.properties)不能...
  • 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,...
  • 类的高级特性一、 Java类包1.1类名冲突1.2完整的类路径1.3创建包1.4导入包1.使用import关键字导入包2....在Java中定义好一个类,通过Java编译器进行编译之后,都会生成一个扩展名为.class的文件,当着个程
  • Java经典编程300例(code)

    千次下载 热门讨论 2013-01-09 10:26:53
    实例154 批量复制指定扩展名文件 217 实例155 分类保存文件 218 实例156 搜索指定文件夹中的文件 219 实例157 实现文件锁定功能 220 实例158 简单的投票软件 221 实例159 压缩所有文本文件 222 实例160 将压缩包解压...
  • java 面试题 总结

    2009-09-16 08:45:34
    redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。 20、EJB与JAVA BEAN的区别? Java Bean 是可复用...
  • Java Web开发技术大全

    2014-11-05 14:35:40
    5.1.3 改变JSP的访问路径扩展名 5.1.4 手动发布JSP程序 5.2 JSP的运行原理 5.2.1 Tomcat如何处理JSP页 5.2.2 分析由JSP生成的Servlet代码 5.3 JSP基本语法 5.3.1 JSP表达式 5.3.2 在JSP中...
  • java web开发技术大全

    热门讨论 2014-01-08 15:11:52
    5.1.3 改变JSP的访问路径扩展名 5.1.4 手动发布JSP程序 5.2 JSP的运行原理 5.2.1 Tomcat如何处理JSP页 5.2.2 分析由JSP生成的Servlet代码 5.3 JSP基本语法 5.3.1 JSP表达式 5.3.2 在JSP中...

空空如也

空空如也

1 2 3 4 5
收藏数 91
精华内容 36
关键字:

java获取文件路径扩展名

java 订阅