我是新手并开发了一个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");
答案 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);