|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着net网页编程嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。///<summary>
///创立文件夹
///</summary>
///<paramname="SourcePath">原始路径</param>
///<returns></returns>
publicstaticboolCreateFolder(stringSourcePath)
{
try
{
Directory.CreateDirectory(SourcePath);
returntrue;
}
catch
{
returnfalse;
}
}
///<summary>
///复制文件夹[轮回遍历]
///</summary>
///<paramname="SourcePath">原始路径</param>
///<paramname="DestinPath">目地的路径</param>
///<returns></returns>
publicstaticboolCopyFolder(stringSourcePath,stringDestinPath)
{
if(Directory.Exists(SourcePath))
{
CreateFolder(DestinPath);//第一次创立跟目次文件夹
stringsourcePath=SourcePath;//[变更的]原始路径
stringdestinPath=DestinPath;//[变更的]目地的路径
Queue<string>source=newQueue<string>();//存原始文件夹路径
Queue<string>destin=newQueue<string>();//存目地的文件夹路径
boolIsHasChildFolder=true;//是不是有子文件夹
stringtempDestinPath=string.Empty;//一时目地的,将被存于destin中
while(IsHasChildFolder)
{
string[]fileList=Directory.GetFileSystemEntries(sourcePath);//失掉源目次的文件列表,该内里是包括文件和目次路径的一个数组
for(inti=0;i<fileList.Length;i++)//遍历一切的文件和目次
{
tempDestinPath=destinPath+""+Path.GetFileName(fileList[i]);//获得子文件路径
if(Directory.Exists(fileList[i]))//存在文件夹时
{
source.Enqueue(fileList[i]);//以后的子目次的原始路径进行列
destin.Enqueue(tempDestinPath);//以后的子目次的目地的路径进行列
CreateFolder(tempDestinPath);//创立子文件夹
}
else//存在文件
{
File.Copy(fileList[i],tempDestinPath,true);//复制文件
}
}
if(source.Count>0&&source.Count==destin.Count)//存在子文件夹时
{
sourcePath=source.Dequeue();
destinPath=destin.Dequeue();
}
else
{
IsHasChildFolder=false;
}
}
returntrue;
}
else
{
returnfalse;
}
}
我实在想不明白net网页编程的机制,为什么非要那么蛋疼,在同一个平台下重复编译。 |
|