java怎么获取一个目录下的所有文件名

java怎么获取一个目录下的所有文件名,第1张

获取一个目录下的所有文件和目录方法:

import javaioFile;

public class FileTest {

    public static void main(String[] args) {

        /

          将目标目录封装成 File 对象。

         /

        File dir = new File("/Users/zym/Desktop/Mac应用程序");

        /

          获取目录下的所有文件和文件夹

         /

        String[] names = dirlist();

        for (String name : names) {

            Systemoutprintln(name);

        }

    }

}

通过文件过滤器获取某个目录下的文件,例如所有的 txt、doc文件。

过滤器:

import javaioFile;

import javaioFilenameFilter;

public class FilterByDoc implements FilenameFilter {

    @Override

    public boolean accept(File dir, String name) {

        return nameendsWith("doc");

    }

}

获取某个目录下的按照过滤器规则的所有文件:

import javaioFile;

public class FileTest {

    public static void main(String[] args) {

        /

          将目标目录封装成 File 对象。

         /

        File dir = new File("/Users/zym/Desktop/Mac应用程序");

        /

          通过过滤器获取目录下的所有的 doc 文件

         /

        String[] names = dirlist(new FilterByDoc());

        for (String name : names) {

            Systemoutprintln(name);

        }

    }

}

希望能对您有所帮助!

1、在该文件夹中点击鼠标右键->新建->文本文件

2、打开该文本文件,输入

DIR /S/B >FILESLIST111TXT

另存为 RBAT

3、双击运行刚创建的文件 RBAT

将得到一个新文件 FILESLIST111TXT

4、打开文件 FILESLIST111TXT

这个文件内容就是你的该文件夹下所有文件清单(含子目录下)。

去掉/S开关,将仅获取本目录的文件列表

登录Linux系统之后打开终端,确定你要找关键字的目录。我这里就拿root用户来做演示。

2

查看下当前目录下所有的文件,你所要找的关键字就在当前目录下某个文件里面。

3

假如我这里要找的关键字是456,到底他位于哪个文件里面呢?首先我们要先确定是文件,而不是文件夹。

find -type f -print这个命令可以列出当前目录下的所有文件。

4

type后面的f是file的意思,所以只列出文件,而排除文件夹。

5

接下来只要在find命令后面加上exec命令就可以实现。

find -type f -print -exec grep 456 {} \;

在查询结果中可以看到456在btxt文件里面出现。

6

exec的意思就是执行find里面的结果,{}用来接收find的结果。注意后面要加上{} \;

66

用excel提取一个文件夹下的所有文件名的方法主要有以下两个:

1、在那个文件夹内新建一个TXT文件(如wenjiantxt),用记事本单开输入

dir> 1txt

保存退出

将刚才的TXT(wenjiantxt)更名为bat文件(wenjianbat)

双击wenjianbat文件运行一次,在文件夹内多出一个1txt文件

打开1txt文件,将其中的内容粘贴到Excel中,数据——分列处理就可以得到你要的文件名列表了!

2、VBA(2003版)

在那个文件夹下新建Excel文件,打开新建的Excel文件,右击工作表标签(如Sheet1),查看代码——在代码编辑器中输入以下代码

Sub Test()

Dim i As Integer

Dim strPath As String

strPath = ThisWorkbookPath

With ApplicationFileSearch

LookIn = strPath

SearchSubFolders = True

Filename = ""

If Execute > 0 Then

For i = 1 To FoundFilesCount

Range("A" & i) = FoundFiles(i)

Next i

End If

End With

End Sub

回到Excel表格中,工具——宏——宏——选择Sheet1Test——执行

方法一简单的 *** 作就可以,方法二需要对程序有一定的了解,方法二通用性比较强,需要的时候执行一下就可以,更快捷。

findfirst,findnext,findclose

搜索个例子给你:

procedure

searchfileex(const

dir,

ext:

string;

files:

tstrings);

var

found:

tsearchrec;

i:

integer;

dirs:

tstrings;

finished:

integer;

stopsearch:

boolean;

begin

stopsearch

:=

false;

dirs

:=

tstringlistcreate;

finished

:=

findfirst(dir

+

'',

63,

found);

while

(finished

=

0)

and

not

(stopsearch)

do

begin

if

(foundname

<>

'')

then

begin

if

(foundattr

and

fadirectory)

=

fadirectory

then

dirsadd(dir

+

foundname)

else

if

pos(uppercase(ext),

uppercase(foundname))

>

0

then

filesadd(dir

+

foundname);

end;

finished

:=

findnext(found);

end;

findclose(found);

if

not

stopsearch

then

for

i

:=

0

to

dirscount

-

1

do

searchfileex(dirs[i],

ext,

files);

dirsfree;

end;

3

procedure

findsubdir(dirname:

string;

filestring:

tstrings);

var

searchrec:

tsearchrec;

begin

//找出所有下级子目录。

if

(findfirst(dirname

+

'',

fadirectory,

searchrec)

=

0)

then

begin

if

isvaliddir(searchrec)

then

filestringadd(dirname

+

searchrecname);

while

(findnext(searchrec)

=

0)

do

begin

if

isvaliddir(searchrec)

then

filestringadd(dirname

+

searchrecname);

end;

end;

findclose(searchrec);

end;

function

isvaliddir(searchrec:

tsearchrec):

boolean;

begin

if

(searchrecattr

=

16)

and

(searchrecname

<>

'')

and

(searchrecname

<>

'')

then

result

:=

true

else

result

:=

false;

end;

String[] s={"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};

Systemoutprint("请输入数字(1-12):");

BufferedReader br=new BufferedReader(new InputStreamReader(Systemin));

String str=brreadLine();

int m=IntegerparseInt(str);

if (m<=0||m>=13)

{

以上就是关于java怎么获取一个目录下的所有文件名全部的内容,包括:java怎么获取一个目录下的所有文件名、如何获取某文件夹下的全部文件列表、如何查询某个目录下所有文件的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存