使用c#基于csv中的文本创建文件夹

时间:2014-02-04 15:12:58

标签: c# directory

我是新手并开发了一个Windows应用程序,当我上传该csv文件时,我有一个csv文件,它应该创建具有该名称的新文件夹,然后具有该文件夹名称的图像应该被复制到该文件夹​​中。我坚持使用这个并不知道该怎么做。

**csv file**-- folders to be created with these names according to csv file.
LC53NYN
PJ55BCX
L0O2O
WJ13XLL

要复制的图片

代码:

class Program
{
    static void Main()
    {
    //
    // Create new folder in C:\ volume.
    //
    Directory.CreateDirectory("C:\\LC53NYN");

1 个答案:

答案 0 :(得分:3)

这样的东西
string[] lines = File.ReadAllLines("YourCSV.csv");

将为您提供给定文件中的所有行。 只要您在该文件中只有一列,它就可以工作。 如果扩展列,则必须进行真正的CSV解析。

然后你可以使用

迭代这些行
foreach(string line in lines)
{
}

在该块中,您可以创建文件夹并移动图像

// Creates a folder like "C:\MyFolders\LC53NYN\"
Directory.CreateDirectory(@"C:\MyFolders\" + line);

// Moves the image (eg. "C:\MyImages\LC42NYN.png") to the created folder
File.Move(@"C:\MyImages\" + line + ".png", @"C:\MyFolders\" + line);

但是你必须自己把它粘在一起。 此外 - 创建和移动部分可以做得更好。 你有空间扩展它。

修改

作为一个tipp,根据Tim的评论,你可以做类似

的事情
// Get directory path
string directory = Path.Combine(@"C:\MyFolders", line);

首先获取目录名称。并将其与其他操作一起使用,如:

// Creates a folder like "C:\MyFolders\LC53NYN\"
Directory.CreateDirectory(directory);

// Moves the image (eg. named "LC42NYN.png") to the created folder
File.Move(@"C:\MyImages\" + line + ".png", directory);

编辑2:

如果您在文件夹中的图像名称与图像使用相同:

// Get the source path as C:\MyImages\[Code]\[Code].png
string sourcePath = Path.Combine(@"C:\MyImages\", line, line + ".png");

然后使用

移动
// Move it
File.Move(sourcePath, directory);