如何从路径中获取文件列表

时间:2017-05-12 06:09:48

标签: c# arrays winforms list

我有一个代码,用于从路径获取文件列表。我正在尝试从名为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)

3 个答案:

答案 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));