我有一个代码,用于从路径获取文件列表。我正在尝试从名为FileNamepath的路径中获取名为Items的文件列表。我已经使用for循环获取单个文件。我需要组合所有那些单独的文件并将其放在一个字符串[] FileNames(文件应该在列表中)。任何人都可以建议我正确的方法。
谢谢
if (Directory.Exists(FileNamePath))
{
//con.Open();
List<string> items = new List<string>();
string qry="select FileName from MembersFiles where fk_MemberId='" + GlobalValues.Member_PkId + "' and Document_Type='" + doc + "'";
using (SqlCommand cmd = new SqlCommand(qry, con))
{
cmd.CommandType = CommandType.Text;
// con.Open();
using (SqlDataReader objReader = cmd.ExecuteReader())
{
if (objReader.HasRows)
{
while (objReader.Read())
{
string item = objReader.GetString(objReader.GetOrdinal("FileName"));
items.Add(item); // List Of Files
}
}
}
}
con.Close();
string[] fileNames1;
for (int i = 0; i < items.Count; i++)
{
fileNames1 = Directory.GetFiles(FileNamePath, items[i]); // Fetching individual files
}
// String[] fileNames= // here i need to put all files(list of files)
答案 0 :(得分:3)
尝试
string [] fileEntries = Directory.GetFiles(path);
foreach(string fileName in fileEntries)
ProcessFile(fileName);
检查https://msdn.microsoft.com/en-us/library/07wt70x2(v=vs.110).aspx
答案 1 :(得分:2)
这是一个Linq重构:
StorageReference storageReference = FirebaseStorage.getInstance().getReferenceFromUrl(item.getPhoto());
dogBreedName.setText(item.getName());
Glide.with(activity)
.using(new FirebaseImageLoader())
.load(storageReference)
.dontAnimate()
.into(dogBreedPhoto);
答案 2 :(得分:0)
empty
方法将为您提供file_path列表,并且您只想获取文件名,因此您必须执行以下操作:
Directory.GetFiles()
如果您需要获取没有扩展名的文件名,也可以尝试var fileEntries = Directory.GetFiles(path)
.Select(x=>Path.GetFileName(x));
。