C#中逐行读取每一行的内容==进行文件名对比!不一样就删除文件!

C#中逐行读取每一行的内容==进行文件名对比!不一样就删除文件!1)逐行读取记事本中的内容"文件名列表.txt"2)读取"待清理文件夹"中的所有文件名.3)作对比只要"文... C#中逐行读取每一行的内容==进行文件名对比!不一样就删除文件!
1) 逐行读取记事本中的内容 " 文件名列表.txt "
2) 读取 " 待清理文件夹 " 中的所有文件名.
3) 作对比 只要" 文件名列表.txt " 中记录内容不符合 就删除掉 " 待清理文件夹 " 中的文件!
--------------------------------------------------------------------------------------------------------------
批处理中我是这样执行的:
for /f "tokens=*" %%i in ('dir/b 待清理文件夹') do findstr /i %%i 文件名列表.txt||del "待清理文件夹\%%i"

换成C# 我就不会写了:
我用:
----------------------------------------------------------------------------------------------------------
try
{
using (StreamReader sr = new StreamReader("文件名列表.txt", UnicodeEncoding.GetEncoding("GB2312")))
{
String line;
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line); //没想到这么做比较我先做了个打印在这里!
}
}
}
catch (Exception e)
{
Console.WriteLine("出错啦!亲,文件名列表呢?");
Console.WriteLine(e.Message);

}
Console.ReadKey();
-----------------------------------------------------------------------------------
请大神帮帮我`初学者!不会写!
PS: " 文件名列表.txt " 中的内容为:
C#学习笔记.txt
你一定要幸福.Mp3
爱情公寓4.rmvb
##############
空格空格空格空格
等等...
展开
 我来答
纠结的起名字了
推荐于2016-04-08 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:144
采纳率:100%
帮助的人:108万
展开全部
// 获取目录信息
DirectoryInfo dirInfo = new DirectoryInfo("待清理文件夹");
// 获取目录下所有的文件信息
            FileInfo[] fileInfos = dirInfo.GetFiles();

            List<string> listOffileName = new List<string>();

            using (StreamReader sr = new StreamReader("文件名列表.txt", UnicodeEncoding.GetEncoding("GB2312")))
            {
                String line;
                while ((line = sr.ReadLine()) != null)
                {
                    // 搜集文件名列表
                    listOffileName.Add(line);
                }
            }

            foreach (var file in fileInfos)
            {
                // 若不在文件名列表.txt中
                if (listOffileName.FirstOrDefault(obj => obj == file.Name) == null)
                {
                    //删除文件
                    file.Delete();
                }
            }

Good luck with u;

斯内科Snake
2014-01-22 · TA获得超过523个赞
知道小有建树答主
回答量:707
采纳率:50%
帮助的人:243万
展开全部
static void Main(string[] args)
{
FileStream fs = new FileStream("abc.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312"));

string[] allFiles = Directory.GetFiles("E:\\待清理文件夹");
string s = "";
s = sr.ReadLine();
while (s != null)
{
Console.WriteLine(s);
bool isExists = false;
for (int i = 0; i < allFiles.Length; i++)
{
if (Path.GetFileName(allFiles[i]) == s)
{
isExists = true;
break;
}
}
if (!isExists) //如果不存在就删除
{
File.Delete("E:\\待清理文件夹" + s);
}
s = sr.ReadLine();
}
sr.Close();
fs.Close();
Console.ReadLine();

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小小馒头仔
2014-01-22 · TA获得超过449个赞
知道小有建树答主
回答量:609
采纳率:100%
帮助的人:639万
展开全部
说实在,不太明白你说的什么意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式