当前位置:首页 » 汽车资讯 » 如何递归查询有多少个文件

如何递归查询有多少个文件

发布时间: 2022-08-21 16:41:11

① 请问linux下如何递归查找某个目录的所有文件

用find。
比如,我在根目录"/"下查找一个名字为”a.c“的文件:
find
/
-type
f
-name
"a.c"
-type
f
---说明我查找的是一个常规文件。

② java如何查询文件夹内有多少个文件

java的file类实现文件夹和文件的遍历,连隐藏的文件都能遍历

代码如下:

importjava.io.File;
/**
*java递归遍历文件夹和文件
*@authoryoung
*
*/
publicclassEX4_1
{
publicstaticvoidFindFile(Strings){
Filefile=newFile(s);
for(Stringtemp:file.list()){
Stringnewstr=s+"\"+temp;
if(newFile(newstr).isFile()){
System.out.println(newstr);
}else{
FindFile(newstr);
}
}
}
publicstaticvoidmain(Stringargs[])
{
FindFile("F:\workspace\one\src");//指定遍历的目录
}
}

③ 如何用递归获取一个文件夹内的所有文件存放在一个文件数组中

可以先读取出文件夹内的所有文件,读出来之后,放到一个文件中,然后再
用数据取出来。存到数组中,public
class
IOtest{
public
static
void
main(String
args){
String
str
=
"c:\\";//假设要读c盘中的所有文件,也可以自己写一个文件路径
File
f
=
new
File(str);
fun(f);
}
public
static
void
fun(File
f){
if(f.idDirectory()){
File
file
=
f.listFile();//列出所有目录
try{
for(int
i=0;
i<file.length;
i++){
fun(file);
}
}carch(Exception
e){
}else{
System.out.print(f);
}
}
}}上面这段代码是把目录下的文件全部列出来,你可以再写一个读取的

④ 指定一个目录,统计该目录中有多少个Java源文件。要求用递归实现

import java.io.File;
import java.util.regex.Pattern;

public class Tt {
private int sumFiles = 0;
private int sumDirs = 0;

public void countFiles(File file) {
try {
if (file.isDirectory()) {
sumDirs += 1;
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
countFiles(files[i]);
}
} else if (file.getName().matches("^.*\\.java$")) {
System.out.println(file.getPath()+"\\"+file.getName()+"\n");
sumFiles += 1;
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

}

public int getSumFiles() {
return sumFiles;
}

/**
* @param args
*/
public static void main(String[] args) {
Tt tt = new Tt();
File file = new File("D:\\android\\workplace");
tt.countFiles(file);

System.out.println(tt.getSumFiles());

}

}

⑤ JAVA遍历一个文件夹中的所有文件---(递归)

public void traverseFolder2(String path) {

File file = new File(path);

if (file.exists()) {

File[] files = file.listFiles();

if (null == files || files.length == 0) {

System.out.println("文件夹是空的!");

return;

} else {

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

traverseFolder2(file2.getAbsolutePath());

} else {

System.out.println("文件:" + file2.getAbsolutePath());

}

}

}

} else {

System.out.println("文件不存在!");

}

}

(5)如何递归查询有多少个文件扩展阅读

public void traverseFolder1(String path) {

int fileNum = 0, folderNum = 0;

File file = new File(path);

if (file.exists()) {

LinkedList<File> list = new LinkedList<File>();

File[] files = file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

foldeNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

fileNum++;

}

}

File temp_file;

while (!list.isEmpty()) {

temp_file = list.removeFirst();


files = temp_file.listFiles();

for (File file2 : files) {

if (file2.isDirectory()) {

System.out.println("文件夹:" + file2.getAbsolutePath());

list.add(file2);

folderNum++;

} else {

System.out.println("文件:" + file2.getAbsolutePath());

fileNum++;

}

}

}

} else {

System.out.println("文件不存在!");

}

System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum);

}

⑥ 递归查找目录下所有指定文件(包括深层目录)

import java.io.*;
public class ShowAll {
public static void main(String[] args) throws Exception {
File f = new File("xxx");
if (f.isDirectory()) {
FileFilter filter = new MyFilter1();
File[] fs = f.listFiles(filter);
for (int i = 0; i < fs.length; i++) {
System.out.println(fs[i].getAbsolutePath());
}
}
}
}
class MyFilter1 implements FileFilter {
public boolean accept(File f) {
if (f.isDirectory()) {
FileFilter filter = new MyFilter1();
File[] fs = f.listFiles(filter);
for (int i = 0; i < fs.length; i++) {
System.out.println(fs[i].getAbsolutePath());
}
}
String name = f.getName();
if (name.indexOf(".hehe") == -1) return false;
else return true;
}
}

⑦ linux系统如何查看文件夹下有多少个文件

可以使用命令:

ls -R1 | grep [^/] | wc -l
ls -R(表示递归操作【可以继续显示子目录下的文件】)
-1(这个是数字1)【强迫ls命令以每个文件占一行的形式输出】

| (竖线)【叫管道可以把 一个程序的标准输出给另一个程序当标准输入】

grep 可以选取特定的行 [^/] 正则表达式 表示不要有/的行
wc -l (统计行数)
这样就可以知道目录下的文件数量了

⑧ 用递归统计文件数

用统计文件数做一个示范吧,VB的,先要在引用里加上Microsoft Scripting Runtime:
Function FileCount(d As Scripting.Folder) As Integer
FileCount=0
Dim flds As Scripting.Folders, fld As Scripting.Folder, fld2 As Scripting.Folder, Fles As Scripting.Files, Fle As Scripting.File
Set flds = d.SubFolders
For Each fld In flds
FileCount=FileCount+FileCount(fld)
Next
Set Fles = d.Files
For Each Fle In Fles
FileCount=FileCount+1
Next
End Function

那个Scripting.Folder类需要这样赋值:
Dim fs As New Scripting.FileSystemObject
Set fld = fs.GetFolder(文件夹路径)

另外,如果是NTFS格式文件系统,最好要考虑文件的访问权限问题

热点内容
马路上汽车的噪音在多少分贝 发布:2023-08-31 22:08:23 浏览:2143
应孕棒多少钱一盒 发布:2023-08-31 22:08:21 浏览:1612
标准养老金一年能领多少钱 发布:2023-08-31 22:05:05 浏览:1910
湖北通城接网线多少钱一个月 发布:2023-08-31 21:59:51 浏览:1977
开随车吊车多少钱一个月 发布:2023-08-31 21:55:06 浏览:1737
京东付尾款怎么知道前多少名 发布:2023-08-31 21:52:58 浏览:2061
在学校租铺面一个月要多少钱 发布:2023-08-31 21:52:09 浏览:2202
2寸有多少厘米 发布:2023-08-31 21:50:34 浏览:1842
知道电压如何算一小时多少电 发布:2023-08-31 21:46:20 浏览:1839
金手镯54号圈周长是多少厘米 发布:2023-08-31 21:44:28 浏览:1986