如何在C#中创建目录 [英] How to Create Directory in C#
本文介绍了如何在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屋!
查看全文