java 返回用户在指定文件夹中的指定后缀的所有文件

java 返回用户在指定文件夹中的指定后缀的所有文件,第1张

Java实现获取指定路径下的指定格式的文件代码如下:

package filenameFilter;

 

import javaioFile;

 

/

  实现功能:

       获取指定路径下的指定格式的文件;

  /

 

public class Test {

 

    public static void listPath(File file) {

        // 接收筛选过后的文件对象数组

        //用文件对象调用listFiles(FilenameFilter filter);方法,

        //返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录

        File files[] = filelistFiles(new MyFilenameFilter());

 

        ///遍历出指定文件路径下符合条件的文件

        for (File f : files) {

            Systemoutprintln(f);

        }/

         

        //遍历出指定文件路径下的所有符合筛选条件的文件

        for(File f: files){

            if(fisDirectory()){

                listPath(f);

            }else{

                Systemoutprintln(f);

            }

        }

         

         

         

    }

 

    public static void main(String[] args) {

        // 创建指定目录的文件对象

        File file = new File("F:\\test");

        // 调用文件晒筛选的方法,并将文件对象出入,

        listPath(file);

    }

}

    

package filenameFilter;

 

import javaioFile;

 

import javaioFilenameFilter;

 

 

//实现FilenameFilter接口,可用于过滤器文件名

//本方法实现的是筛选指定格式结尾的文件

public class MyFilenameFilter implements FilenameFilter {

 

    /

      @param args

     

                 实现功能; 实现FilenameFilter接口,定义出指定的文件筛选器

     

     /

 

     

    @Override

    //重写accept方法,测试指定文件是否应该包含在某一文件列表中

    public boolean accept(File dir, String name) {

        // TODO Auto-generated method stub

        // 创建返回值

        boolean flag = true;

        // 定义筛选条件

        //endWith(String str);判断是否是以指定格式结尾的

        if (nametoLowerCase()endsWith("jpg")) {

 

        } else if (nametoLowerCase()endsWith("txt")) {

 

        } else if (nametoLowerCase()endsWith("gif")) {

 

        } else {

            flag = false;

        }

        // 返回定义的返回值

         

        //当返回true时,表示传入的文件满足条件

        return flag;

    }

 

}

答:可以使用程序来把指定文件夹里的PDF文件名全部读到工作表中来,然后对这些名字进行整理。

方法:

1、新建一个Excel工作簿,然后按ALT+F11,打开VB编辑器,“插入”一个“模块”,复制下面代码进去:

Private Sub ListPDF()

    Dim strFileName As String

    Dim strNames() As String

    Dim i As Long

    Dim FolderString As String

    Dim Desrange As Range

    

    Set Desrange = Range("A1")

    FolderString = GetDirectory

    If FolderString = "" Then Exit Sub

    strFileName = Dir(FolderString & "\pdf")

    Do Until strFileName = ""

        i = i + 1

        ReDim Preserve strNames(1 To i)

        strNames(i) = strFileName

        strFileName = Dir

    Loop

    If i = 0 Then

        MsgBox "没找到文件", vbExclamation, "提示"

        Exit Sub

    End If

    DesrangeResize(i, 1)Value = ApplicationTranspose(strNames)

    MsgBox "共计" & i & "个文件", vbInformation, "提示"

End Sub

Private Function GetDirectory()

    Dim fd As FileDialog

    Set fd = ApplicationFileDialog(msoFileDialogFolderPicker)

    With fd

        If Show = -1 Then

            GetDirectory = SelectedItems(1)

        Else

            GetDirectory = ""

        End If

    End With

End Function

执行“ListPDF”这个程序,然后你所选定文件夹里的PDF文件名都列到A1开始的单元格中了。

2、至于取前面6个数字,用left函数即可取出。

在学习真实案例之前,我们先来了解一下Python文件 *** 作的一些基本概念~~

如何创建读取和写出的文件对象,open()方法来搞定

他有两个参数,第一个就是读取的文件名称,第二个是可选的,指的是打开文件的模式,默认是读取文件。

当我们获取到读取文件对象fin之后我们就可以读取文件内容了,这里介绍两种方式。

第一种是直接读取文件内容,

第二种是按行读取文件内容。

区别在于如果你的文件非常大,如果直接读取效率会非常低下,甚至会撑爆内存。

所以按行读取按行处理就不会因为文件过大而产生问题了

文件读取完成之后写出文件有如下方式:

'\n'的意思是我们手动换行

最后关闭文件有两种方式

为什么要关闭文件呢?

如果不关闭他就会持续打开状态,琐事其他进程后者线程要 *** 作它的时候就会报错

我们有时候写入非常大的数据的时候打开文件后会发现数据不是最新的?

这是因为python在写出文件是先写到内存中,等到一定的事件之后或者文件到达一定的数量之后才会写入到磁盘

所以我们如果想要看最新的数据,可直接调用如下方法

接下来我们使用数据进行测试

1 文件读 *** 作

文件读、写 *** 作比较常见。读取文件,要先判断文件是否存在。

若文件存在,再读取;不存在,抛出文件不存在异常。

文件存在情况:

文件不存在情况:

open 后,务必要 close,这种写法有些繁琐,还容易出错。借助 with 语法,同时实现 open 和 close 功能,这是更常用的方法。

2获取文件的后缀名

如何优雅地获取文件后缀名?ospath 模块,splitext 能够优雅地提取文件后缀。

3 批量修改文件后缀名

修改之前

修改文件后缀名的文件方法如下:

从修改之后:

4 获取文件名

有时拿到一个文件名时,名字带有路径。这时,使用 ospath、split 方法实现路径和文件的分离。

我们还可以直接使用使用ospath 模块,splitext 提取文件后缀名。

5获取以指定后缀结尾的文件

当我们想要查询某路径下所有以固定后缀结尾的文件时,可以使用如下方法

6 批量修改文件后缀名

后缀名批量修改,实现思路:

1 遍历目录下的所有文件

2 获取文件的后缀名

3 如果后缀名命中为 old_ext,rename 重命名

defbatch_rename(work_dir, old_ext, new_ext):

"""

传递当前目录,原来后缀名,新的后缀名后,批量重命名后缀

7 批量获取文件修改时间

oswalk 生成文件树结构,ospathgetmtime 返回文件的最后一次修改时间:

以上就是关于java 返回用户在指定文件夹中的指定后缀的所有文件全部的内容,包括:java 返回用户在指定文件夹中的指定后缀的所有文件、如何提取文件夹内特定扩展名文件名的部分字段到EXCEL、Python 拿来直接用的7个os读写文件的 *** 作!网友:建议收藏!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9672598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存