c#对指定文件夹里的所有txt文件进行统一的的处理,后还按原来的名字存储到新的文件夹里?求代码
3个回答
展开全部
你是想先把文件里的数据处理后再存到新文件夹里?如果是直接复制过去,那你就按照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里,这里你得写个循环,逐行写入
}
}
读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里,这里你得写个循环,逐行写入
}
}
更多追问追答
追问
是想先对文件夹里的txt先处理再储存到新路径下,比如是对所有的txt文件删除“如果”这个词,能不能帮忙再写的具体一点~~本人是菜鸟一枚~~~~
追答
//创建一个list用来存读进来的数据
List list = new List();
//获取指定文件夹下所有txt文件
string[] files = Directory.GetFiles("文件夹路径", "*.txt");
//如果不存在txt文件就return
if (files.Length == 0)
return;
//循环获取txt文件
foreach (var file in files)
{
//list存数据前先清空
list.Clear();
//获取txt的文件名
string fileName = Path.GetFileName(file);
//开始将txt文件数据读入list
using (StreamReader sr = new StreamReader("文件路径"))
{
string strTXT = string.Empty;
while ((strTXT = sr.ReadLine()) != null)
{
//一行行读取
list.Add(strTXT);
}
}
超出允许输入的最大字数。。。。。你再追问下,我把下半部分给你
展开全部
给你几个处理接口,你自己组织下逻辑吧
查找文件
DirectoryInfo dir = new DirectoryInfo(文件夹路径);
FileInfo[] files = dir.GetFiles();
foreach (FileInfo info in files)
{
if (info.Extension == ".txt"
{
//调用复制文件函数,复制到指定路径中,
//删除文件File.Delete(路径);
}
}
复制文件
/// <summary>
/// 复制文件到指定文件夹,并判断是否覆盖原有文件
/// </summary>
/// <param name="p_FileSourcePath">需要复制的文件路径</param>
/// <param name="p_FileName">检测文件名是否重复</param>
/// <returns></returns>
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;
}
}
查找文件
DirectoryInfo dir = new DirectoryInfo(文件夹路径);
FileInfo[] files = dir.GetFiles();
foreach (FileInfo info in files)
{
if (info.Extension == ".txt"
{
//调用复制文件函数,复制到指定路径中,
//删除文件File.Delete(路径);
}
}
复制文件
/// <summary>
/// 复制文件到指定文件夹,并判断是否覆盖原有文件
/// </summary>
/// <param name="p_FileSourcePath">需要复制的文件路径</param>
/// <param name="p_FileName">检测文件名是否重复</param>
/// <returns></returns>
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;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
file.move或者copy
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询