c#对指定文件夹里的所有txt文件进行统一的的处理,后还按原来的名字存储到新的文件夹里?求代码

2025-04-02 02:10:47
推荐回答(3个)
回答1:

你是想先把文件里的数据处理后再存到新文件夹里?如果是直接复制过去,那你就按照1楼的写法写,如果要先处理的话,那你得用流把数据读进来,然后处理数据,然后再用流把数据写到新的文件夹里
读txt文件: using(StreamReader sr=new StreamReader("文件路径"))
{

string strTXT=string.Empty;

while((strTXT=sr.ReadLine())!=null)

{
//用流读取是一行行读的,这里是你想把数据放到哪里,比如说datatable
//或者List,个人感觉List比较好

}

}

将处理后的数据写入到txt文件然后存进新的文件夹内:
using(FileStream fs=new FileStream("新文件夹路径"))

{

using(StreamWriter sw=new StreamWriter(fs,"txt文件名"))

{
//数据写入也是一行行写的,如果你先前把读出来的数据存进了datatable或者

//List里,这里你得写个循环,逐行写入

}

}

回答2:

给你几个处理接口,你自己组织下逻辑吧
查找文件
DirectoryInfo dir = new DirectoryInfo(文件夹路径);
FileInfo[] files = dir.GetFiles();
foreach (FileInfo info in files)
{
if (info.Extension == ".txt"
{
//调用复制文件函数,复制到指定路径中,
//删除文件File.Delete(路径);
}
}
复制文件
///


/// 复制文件到指定文件夹,并判断是否覆盖原有文件
///

/// 需要复制的文件路径
/// 检测文件名是否重复
///
public bool CopyFileToSomeWhere(string p_FileSourcePath, string p_FileName)
{
bool t_result = false;
if (!System.IO.Directory.Exists(m_FilePath + "\\" + m_FileName))
{
// 目录不存在,建立目录
System.IO.Directory.CreateDirectory(m_FilePath + "\\" + m_FileName);
try
{
String targetPath = m_FilePath + "\\" + m_FileName + "\\" + p_FileName;
bool isrewrite = true; // true=覆盖已存在的同名文件,false则反之
System.IO.File.Copy(p_FileSourcePath, targetPath, isrewrite);
t_result = true;
}
catch
{
t_result = false;
}
return t_result;
}
else
{

try
{
String targetPath = m_FilePath + "\\" + m_FileName + "\\" + p_FileName;
bool isrewrite = true; // true=覆盖已存在的同名文件,false则反之
System.IO.File.Copy(p_FileSourcePath, targetPath, isrewrite);
t_result = true;
}
catch
{
t_result = false;
}
return t_result;
}
}

回答3:

file.move或者copy