如何解决C# 返回位于包含文件夹的目录中的所有文件
如何检索包含文件、子文件夹和该文件夹中的文件的目录中的所有文件。
解决方法
您可以将 DirectoryInfo.GetFiles
方法与 RecurseSubdirectories
选项一起使用。
import java.util.ArrayList;
import java.util.Scanner;
public class NumberOpsDriver {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
ArrayList<NumberOperations> numOpsList = new ArrayList<NumberOperations>();
System.out.println("Enter a list of positive integers separated" +
" with a space followed by 0:");
int n=-1;
while (n!=0)
{
n = in.nextInt();
if(n!=0)
{
//add to list
numOpsList.add(new NumberOperations(n));
}
}
int index=0;
while (index < numOpsList.size())
{
NumberOperations num = numOpsList.get(index);
System.out.println("For: "+num);
System.out.println("\tOdds under: "+num.oddsUnder());
System.out.println("\tPowers of 2 under: "+num.powersTwoUnder());
index++;
}
}
}
如果您不需要完整的文件列表,枚举目录的内容可能会更快。
using System.IO;
FileInfo[] files
= new DirectoryInfo(@"C:\Program Files")
.GetFiles("*",new EnumerationOptions { RecurseSubdirectories = true });
,
您可以使用 Directory.GetFiles(path) 和 Directory.GetDirectories(path)
static void ScanDir(string path,int spaces = 0)
{
var files = Directory.GetFiles(path);
foreach (var file in files)
{
for (int i = 0; i < spaces; i++)
Console.Write(" "); // Just for styling
Console.WriteLine(file);
}
var dirs = Directory.GetDirectories(path);
foreach (var dir in dirs)
{
ScanDir(dir,spaces + 4);
}
}
static void Main()
{
ScanDir("C:\\path\\to");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。