如何在C#中创建目录 [英] How to Create Directory in C#

查看:120
本文介绍了如何在C#中创建目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从inpur路径自动创建目录以获取文件?

解决方案

  if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}





谢谢


 DirectoryInfo src =  new  DirectoryInfo( @  E:\ Test \\ \\Dir1\" ); 
DirectoryInfo dest = new DirectoryInfo( @ C:\Dir2\" );
CopyDirectory(src,dest);


静态 void CopyDirectory(DirectoryInfo源,DirectoryInfo目标)
{
if (!destination.Exists)
{
destination.Create();
}

// 复制所有文件。
FileInfo [] files = source.GetFiles();
foreach (FileInfo文件 in files)
{
file。 CopyTo(Path.Combine(destination.FullName,
file.Name));
}

// 处理子目录。
DirectoryInfo [] dirs = source.GetDirectories();
foreach (DirectoryInfo dir in dirs)
{
// 获取目标目录。
string destinationDir = Path.Combine(destination.FullName,dir.Name);

// 递归调用CopyDirectory()。
CopyDirectory(dir, new DirectoryInfo(destinationDir));
}
}


public void Getpr()

{

DateTime dt = DateTime.Now;



string [] files = Directory.GetFiles(file Name,*。*,SearchOption.AllDirectories);

int checkCount = files.Length;

foreach(文件中的字符串文件)

{

//等待免费限制......

而(workingCounter> = workingLimit)

{

Thread.Sleep(100);

}

workingCounter + = 1;

ParameterizedThreadStart pts = new ParameterizedThreadStart(ProcessFile);

线程th =新线程(pts);

th.Start(file);

}

//等待所有线程完成...

while(processedCounter< checkCount)

{

Thread.Sleep(100);

}



DateTime dt1 = DateTime.Now;

TimeSpan t = dt1 - dt;

MessageBox.Show(工作完成!+ t.TotalMinutes.ToString()+ );

}



public void ProcessFile(目标文件)

{

try

{

string strpath = Path.GetRandomFileName();

if(!Directory.Exists(Directory name+ strpath) ))

{

Directory.CreateDirectory(目录名称+ strpath);

}



//为演示做一些睡眠......

Thread.Sleep(1000);

}

catch(例外情况除外)

{

//处理你的异常...

string exMsg = ex.Message;

}

终于

{

Interlocked.Decrement(ref workingCounter);

Interlocked.Increment(ref processedCounter);

}

}

how to Automatically create directories from inpur path to get files?

解决方案

if (!Directory.Exists(directory))
            {
                Directory.CreateDirectory(directory);
            }



Thanks


DirectoryInfo src = new DirectoryInfo(@"E:\Test\Dir1"); 
DirectoryInfo dest = new DirectoryInfo(@"C:\Dir2"); 
CopyDirectory(src, dest); 
 
 
static void CopyDirectory(DirectoryInfo source, DirectoryInfo destination) 
        { 
            if (!destination.Exists) 
            { 
                destination.Create(); 
            } 
 
            // Copy all files. 
            FileInfo[] files = source.GetFiles(); 
            foreach (FileInfo file in files) 
            { 
                file.CopyTo(Path.Combine(destination.FullName, 
                    file.Name)); 
            } 
 
            // Process subdirectories. 
            DirectoryInfo[] dirs = source.GetDirectories(); 
            foreach (DirectoryInfo dir in dirs) 
            { 
                // Get destination directory. 
                string destinationDir = Path.Combine(destination.FullName, dir.Name); 
 
                // Call CopyDirectory() recursively. 
                CopyDirectory(dir, new DirectoryInfo(destinationDir)); 
            } 
        }


public void Getpr()
{
DateTime dt = DateTime.Now;

string[] files = Directory.GetFiles("file Name", "*.*", SearchOption.AllDirectories);
int checkCount = files.Length;
foreach (string file in files)
{
//wait for free limit...
while (workingCounter >= workingLimit)
{
Thread.Sleep(100);
}
workingCounter += 1;
ParameterizedThreadStart pts = new ParameterizedThreadStart(ProcessFile);
Thread th = new Thread(pts);
th.Start(file);
}
//wait for all threads to complete...
while (processedCounter < checkCount)
{
Thread.Sleep(100);
}

DateTime dt1 = DateTime.Now;
TimeSpan t = dt1 - dt;
MessageBox.Show("Work completed!" + t.TotalMinutes.ToString() + " ");
}

public void ProcessFile(object file)
{
try
{
string strpath = Path.GetRandomFileName();
if (!Directory.Exists("Directory name" + strpath))
{
Directory.CreateDirectory("Directory name" + strpath);
}

//make some sleep for demo...
Thread.Sleep(1000);
}
catch (Exception ex)
{
//handle your exception...
string exMsg = ex.Message;
}
finally
{
Interlocked.Decrement(ref workingCounter);
Interlocked.Increment(ref processedCounter);
}
}


这篇关于如何在C#中创建目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆