比如说我A文件夹下应该有1.txt文件,但是我放的是2.txt文件,控制台就会告诉我这个文件位置放错了,2.txt应该放在B文件夹里。
请问这个要如何实现啊?
请问这个要如何实现啊?
解决方案 »
- 真心求助,winform中的HttpWebRequest中cookies设置问题,POST发包总是没有COOKIES.求大神解答!回答都有热心分,在线等
- 程序运行时,窗体初始状态最大化,状态栏被系统的任务栏挡住了怎么办?
- 着急啊!!!购物车的问题
- 先让datagridview先自动列宽,然后再想可以用鼠标调节列宽
- conver。tostring()
- 比较另类的表达式计算(转)
- 页面隐藏部分GridView1, 代码哪位大侠给解释解释
- C#中如何判断一个点是否在区域中,有没有函数可直接调用
- winform中,有两个ListView,如何现实像ListBox那样,选择左边的某一行时,把它从左边的ListView中删除,并且移到右边的ListView中??
- 怎样让combobox不获得焦点???
- winform数据库更新问题
- 关于文本框的输出。。
//不存在
1. Dictionary<string, string> 保存目录和对应的文件名
2. 遍历文件夹,并和上面字典内的值对比,不一样报告出来
if(file.Exists)
为真就存在喽
if(!both.Exists)
{
//这里写上如果不存在你要做什么.
}
else{
//若存在要做什么.
}
using System.Collections.Generic;
using System.Linq;
using System.IO;class ListAllFilesDemo
{
public static void Main()
{
Console.Write("请输入要查询的目录: ");
string dir = Console.ReadLine();
try
{
ListFiles(new DirectoryInfo(dir));
}
catch (IOException e)
{
Console.WriteLine(e.Message);
}
Console.ReadKey();
} public static void ListFiles(FileSystemInfo info)
{
if (!info.Exists) return; DirectoryInfo dir = info as DirectoryInfo;
//不是目录
if (dir == null) return; FileSystemInfo[] files = dir.GetFileSystemInfos();
for (int i = 0; i < files.Length; i++)
{
FileInfo file = files[i] as FileInfo;
//是文件
if (file != null)
Console.WriteLine(file.FullName + "\t " + file.Length);
//对于子目录,进行递归调用
else
ListFiles(files[i]);
}
var both = new FileInfo(@"d:\\test\\1\\a.txt");
if (!System.IO.File.Exists("d:\\test\\1\\a.txt"))
{
Console.WriteLine("t");
}
else
{
Console.WriteLine("f");
}
}
}请指教哪里不对?
private void process()
{
// 这里假设d:/test/目录下只有一级文件夹,即,D:/test/下只有1,2,3,4,5,6 之类的文件,而1下面再也没有文件夹了。而这些1,2,3文件夹下的文件名,只有a.txt,b.txt,c.txt.....
var files = Directory.GetFiles( @"D:/test/" );
Regex reg = new Regex( @"(D:/test/)([^/]*)/([^.]*\.txt)", RegexOptions.IgnoreCase );
if ( files != null )
{
int fileCount = 0; // 文件总数
int errCount = 0; //错误总数
foreach ( var file in files )
{
var m = reg.Match( file );
if ( m.Success )
{
fileCount++;
if ( getDirName( m.Groups[3].Value ) == m.Groups[2].Value )
{
// 移到正确的位置
File.Move( file, m.Groups[1].Value + getDirName( m.Groups[3].Value ) + m.Groups[3].Value );
}
else
errCount++;
}
}
} // 总数:fileCount;
// 错误:errCount;
// 错误率:errCount/(fileCount * 1.0)
}
/// <summary>
/// 判断该文件应该放在什么文件夹下(也就是对应规则设置的地方了,假设文件名是A.txt,B.txt等等)
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
private string getDirName( string fileName )
{
/// 即,表示,如果文件名第一个符是A。则返回应该存放的文件夹名应该是 1,如果是Z的话,则返回26
return Convert.ToInt32( fileName[0] - 'A' + 1 ).ToString();
//// 或者
//switch ( fileName )
//{
// case "A.txt": return "1";
// case "B.txt": return "2";
// default: return "";
//}
}