问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C# 资源文件如何修改目录

发布网友 发布时间:2022-04-22 10:13

我来回答

2个回答

热心网友 时间:2023-10-10 07:51

C#文件操作方法大全

C#追加文件
StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt");
sw.WriteLine("追逐理想");
sw.WriteLine("kzlll");
sw.WriteLine(".NET笔记");
sw.Flush();
sw.Close();

C#拷贝文件
string OrignFile,NewFile;
OrignFile = Server.MapPath(".")+"\\myText.txt";
NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Copy(OrignFile,NewFile,true);

C#删除文件
string delFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Delete(delFile);

C#移动文件
string OrignFile,NewFile;
OrignFile = Server.MapPath(".")+"\\myText.txt";
NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
File.Move(OrignFile,NewFile);

C#创建目录
// 创建目录c:\sixAge
DirectoryInfo d=Directory.CreateDirectory("c:\\sixAge");
// d1指向c:\sixAge\sixAge1
DirectoryInfo d1=d.CreateSubdirectory("sixAge1");
// d2指向c:\sixAge\sixAge1\sixAge1_1
DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1");
// 将当前目录设为c:\sixAge
Directory.SetCurrentDirectory("c:\\sixAge");
// 创建目录c:\sixAge\sixAge2
Directory.CreateDirectory("sixAge2");
// 创建目录c:\sixAge\sixAge2\sixAge2_1
Directory.CreateDirectory("sixAge2\\sixAge2_1");

递归删除文件夹及文件
<%@ Page Language=C#%>
<%@ Import namespace="System.IO"%>
<script_ runat=server>
public void DeleteFolder(string dir)
{
if (Directory.Exists(dir)) //如果存在这个文件夹删除之
{
foreach(string d in Directory.GetFileSystemEntries(dir))
{
if(File.Exists(d))
File.Delete(d); //直接删除其中的文件
else
DeleteFolder(d); //递归删除子文件夹
}
Directory.Delete(dir); //删除已空文件夹
Response.Write(dir+" 文件夹删除成功");
}
else
Response.Write(dir+" 该文件夹不存在"); //如果文件夹不存在则提示
}

protected void Page_Load (Object sender ,EventArgs e)
{
string Dir="D:\\gbook\\11";
DeleteFolder(Dir); //调用函数删除文件夹
}

// ======================================================
// 实现一个静态方法将指定文件夹下面的所有内容copy到目标文件夹下面
// 如果目标文件夹为只读属性就会报错。
// April 18April2005 In STU
// ======================================================
public static void CopyDir(string srcPath,string aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;
// 判断目标目录是否存在如果不存在则新建之
if(!Directory.Exists(aimPath)) Directory.CreateDirectory(aimPath);
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(srcPath);
string[] fileList = Directory.GetFileSystemEntries(srcPath);
// 遍历所有的文件和目录
foreach(string file in fileList)
{
// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if(Directory.Exists(file))
CopyDir(file,aimPath+Path.GetFileName(file));
// 否则直接Copy文件
else
File.Copy(file,aimPath+Path.GetFileName(file),true);
}
}
catch (Exception e)
{
MessageBox.Show (e.ToString());
}
}

// ======================================================
// 实现一个静态方法将指定文件夹下面的所有内容Detele
// 测试的时候要小心操作,删除之后无法恢复。
// April 18April2005 In STU
// ======================================================
public static void DeleteDir(string aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(aimPath);
string[] fileList = Directory.GetFileSystemEntries(aimPath);
// 遍历所有的文件和目录
foreach(string file in fileList)
{
// 先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
if(Directory.Exists(file))
{
DeleteDir(aimPath+Path.GetFileName(file));
}
// 否则直接Delete文件
else
{
File.Delete (aimPath+Path.GetFileName(file));
}
}
//删除文件夹
System.IO .Directory .Delete (aimPath,true);
}
catch (Exception e)
{
MessageBox.Show (e.ToString());
}
}

需要引用命名空间:
using System.IO;

/**//// <summary>

/// </summary>
/// <param ></param>
/// <param ></param>

//--------------------------------------------------
//---------------------------------------------------

public static void CopyFolder(string strFromPath,string strToPath)
{
//如果源文件夹不存在,则创建
if (!Directory.Exists(strFromPath))
{
Directory.CreateDirectory(strFromPath);
}

//取得要拷贝的文件夹名
string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\") + 1,strFromPath.Length - strFromPath.LastIndexOf("\\") - 1);

//如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件夹
if (!Directory.Exists(strToPath + "\\" + strFolderName))
{
Directory.CreateDirectory(strToPath + "\\" + strFolderName);
}
//创建数组保存源文件夹下的文件名
string[] strFiles = Directory.GetFiles(strFromPath);

//循环拷贝文件
for(int i = 0;i < strFiles.Length;i++)
{
//取得拷贝的文件名,只取文件名,地址截掉。
string strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf("\\") + 1,strFiles[i].Length - strFiles[i].LastIndexOf("\\") - 1);
//开始拷贝文件,true表示覆盖同名文件
File.Copy(strFiles[i],strToPath + "\\" + strFolderName + "\\" + strFileName,true);
}

//创建DirectoryInfo实例
DirectoryInfo dirInfo = new DirectoryInfo(strFromPath);
//取得源文件夹下的所有子文件夹名称
DirectoryInfo[] ZiPath = dirInfo.GetDirectories();
for (int j = 0;j < ZiPath.Length;j++)
{
//获取所有子文件夹名
string strZiPath = strFromPath + "\\" + ZiPath[j].ToString();
//把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝
CopyFolder(strZiPath,strToPath + "\\" + strFolderName);
}
}

一.读取文本文件
/**//// <summary>
/// 读取文本文件
/// </summary>
private void ReadFromTxtFile()
{
if(filePath.PostedFile.FileName != "")
{
txtFilePath =filePath.PostedFile.FileName;
fileExtName = txtFilePath.Substring(txtFilePath.LastIndexOf(".")+1,3);

if(fileExtName !="txt" && fileExtName != "TXT")
{
Response.Write("请选择文本文件");
}
else
{
StreamReader fileStream = new StreamReader(txtFilePath,Encoding.Default);
txtContent.Text = fileStream.ReadToEnd();
fileStream.Close();
}
}
}
二.获取文件列表
1/**//// <summary>
2/// 获取文件列表
3/// </summary>
4private void GetFileList()
5{
6 string strCurDir,FileName,FileExt;
7
8 /**////文件大小
9 long FileSize;
10
11 /**////最后修改时间;
12 DateTime FileModify;
13
14 /**////初始化
15 if(!IsPostBack)
16 {
17 /**////初始化时,默认为当前页面所在的目录
18 strCurDir = Server.MapPath(".");
19 lblCurDir.Text = strCurDir;
20 txtCurDir.Text = strCurDir;
21 }
22 else
23 {
24 strCurDir = txtCurDir.Text;
25 txtCurDir.Text = strCurDir;
26 lblCurDir.Text = strCurDir;
27 }
28 FileInfo fi;
29 DirectoryInfo dir;
30 TableCell td;
31 TableRow tr;
32 tr = new TableRow();
33
34 /**////动态添加单元格内容
35 td = new TableCell();
36 td.Controls.Add(new LiteralControl("文件名"));
37 tr.Cells.Add(td);
38 td = new TableCell();
39 td.Controls.Add(new LiteralControl("文件类型"));
40 tr.Cells.Add(td);
41 td = new TableCell();
42 td.Controls.Add(new LiteralControl("文件大小"));
43 tr.Cells.Add(td);
44 td = new TableCell();
45 td.Controls.Add(new LiteralControl("最后修改时间"));
46 tr.Cells.Add(td);
47
48 tableDirInfo.Rows.Add(tr);
49
50 /**////针对当前目录建立目录引用对象
51 DirectoryInfo dirInfo = new DirectoryInfo(txtCurDir.Text);
52
53 /**////循环判断当前目录下的文件和目录
54 foreach(FileSystemInfo fsi in dirInfo.GetFileSystemInfos())
55 {
56 FileName = "";
57 FileExt = "";
58 FileSize = 0;
59
60 /**////如果是文件
61 if(fsi is FileInfo)
62 {
63 fi = (FileInfo)fsi;
64
65 /**////取得文件名
66 FileName = fi.Name;
67
68 /**////取得文件的扩展名
69 FileExt = fi.Extension;
70
71 /**////取得文件的大小
72 FileSize = fi.Length;
73
74 /**////取得文件的最后修改时间
75 FileModify = fi.LastWriteTime;
76 }
77
78 /**////否则是目录
79 else
80 {
81 dir = (DirectoryInfo)fsi;
82
83 /**////取得目录名
84 FileName = dir.Name;
85
86 /**////取得目录的最后修改时间
87 FileModify = dir.LastWriteTime;
88
89 /**////设置文件的扩展名为"文件夹"
90 FileExt = "文件夹";
91 }
92
93 /**////动态添加表格内容
94 tr = new TableRow();
95 td = new TableCell();
96 td.Controls.Add(new LiteralControl(FileName));
97 tr.Cells.Add(td);
98 td = new TableCell();
99 td.Controls.Add(new LiteralControl(FileExt));
100 tr.Cells.Add(td);
101 td = new TableCell();
102 td.Controls.Add(new LiteralControl(FileSize.ToString()+"字节"));
103 tr.Cells.Add(td);
104 td = new TableCell();
105 td.Controls.Add(new LiteralControl(FileModify.ToString("yyyy-mm-dd hh:mm:ss")));
106 tr.Cells.Add(td);
107 tableDirInfo.Rows.Add(tr);
108 }
109}

三.读取日志文件

1/**//// <summary>
2/// 读取日志文件
3/// </summary>
4private void ReadLogFile()
5{
6 /**////从指定的目录以打开或者创建的形式读取日志文件
7 FileStream fs = new FileStream(Server.MapPath("upedFile")+"\\logfile.txt", FileMode.OpenOrCreate, FileAccess.Read);
8
9 /**////定义输出字符串
10 StringBuilder output = new StringBuilder();
11
12 /**////初始化该字符串的长度为0
13 output.Length = 0;
14
15 /**////为上面创建的文件流创建读取数据流
16 StreamReader read = new StreamReader(fs);
17
18 /**////设置当前流的起始位置为文件流的起始点
19 read.BaseStream.Seek(0, SeekOrigin.Begin);
20
21 /**////读取文件
22 while (read.Peek() > -1)
23 {
24 /**////取文件的一行内容并换行
25 output.Append(read.ReadLine() + "\n");
26 }
27
28 /**////关闭释放读数据流
29 read.Close();
30
31 /**////返回读到的日志文件内容
32 return output.ToString();
33}

四.写入日志文件

1/**//// <summary>
2/// 写入日志文件
3/// </summary>
4/// <param ></param>
5private void WriteLogFile(string input)
6{
7 /**////指定日志文件的目录
8 string fname = Server.MapPath("upedFile") + "\\logfile.txt";
9 /**////定义文件信息对象
10 FileInfo finfo = new FileInfo(fname);
11
12 /**////判断文件是否存在以及是否大于2K
13 if ( finfo.Exists && finfo.Length > 2048 )
14 {
15 /**////删除该文件
16 finfo.Delete();
17 }
18 /**////创建只写文件流
19 using(FileStream fs = finfo.OpenWrite())
20 {
21 /**////根据上面创建的文件流创建写数据流
22 StreamWriter w = new StreamWriter(fs);
23
24 /**////设置写数据流的起始位置为文件流的末尾
25 w.BaseStream.Seek(0, SeekOrigin.End);
26
27 w.Write("\nLog Entry : ");
29
30 /**////写入当前系统时间并换行
31 w.Write("{0} {1} \r\n", DateTime.Now.ToLongTimeString(),
32 DateTime.Now.ToLongDateString());
33
34 /**////写入日志内容并换行
35 w.Write(input + "\n");
36
37 /**////写入------------------------------------“并换行
38 w.Write("------------------------------------\n");
39
40 /**////清空缓冲区内容,并把缓冲区内容写入基础流
41 w.Flush();
42
43 /**////关闭写数据流
44 w.Close();
45 }
46}

五.C#创建HTML文件
1/**//// <summary>
2/// 创建HTML文件
3/// </summary>
4private void CreateHtmlFile()
5{
6 /**////定义和html标记数目一致的数组
7 string[] newContent = new string[5];
8 StringBuilder strhtml = new StringBuilder();
9 try
10 {
11 /**////创建StreamReader对象
12 using (StreamReader sr = new StreamReader(Server.MapPath("createHTML") + "\\template.html"))
13 {
14 String oneline;
15
16 /**////读取指定的HTML文件模板
17 while ((oneline = sr.ReadLine()) != null)
18 {
19 strhtml.Append(oneline);
20 }
21 sr.Close();
22 }
23 }
24 catch(Exception err)
25 {
26 /**////输出异常信息
27 Response.Write(err.ToString());
28 }
29 /**////为标记数组赋值
30 newContent[0] = txtTitle.Text;//标题
31 newContent[1] = "BackColor='#cccfff'";//背景色
32 newContent[2] = "#ff0000";//字体颜色
33 newContent[3] = "100px";//字体大小
34 newContent[4] = txtContent.Text;//主要内容
35
36 /**////根据上面新的内容生成html文件
37 try
38 {
39 /**////指定要生成的HTML文件
40 string fname = Server.MapPath("createHTML") +"\\" + DateTime.Now.ToString("yyyymmddhhmmss") + ".html";
41
42 /**////替换html模版文件里的标记为新的内容
43 for(int i=0;i < 5;i++)
44 {
45 strhtml.Replace("$htmlkey["+i+"]",newContent[i]);
46 }
47 /**////创建文件信息对象
48 FileInfo finfo = new FileInfo(fname);
49
50 /**////以打开或者写入的形式创建文件流
51 using(FileStream fs = finfo.OpenWrite())
52 {
53 /**////根据上面创建的文件流创建写数据流
54 StreamWriter sw = new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
55
56 /**////把新的内容写到创建的HTML页面中
57 sw.WriteLine(strhtml);
58 sw.Flush();
59 sw.Close();
60 }
61
62 /**////设置超级链接的属性
63 hyCreateFile.Text = DateTime.Now.ToString("yyyymmddhhmmss")+".html";
64 hyCreateFile.NavigateUrl = "createHTML/"+DateTime.Now.ToString("yyyymmddhhmmss")+".html";
65 }
66 catch(Exception err)
67 {
68 Response.Write (err.ToString());
69 }
70}

CreateDirectory方法的使用

using System;
using System.IO;

class Test
{
public static void Main()
{
// Specify the directory you want to manipulate.
string path = @"c:\MyDir";

try
{
// Determine whether the directory exists.
if (Directory.Exists(path))
{
Console.WriteLine("That path exists already.");
return;
}

// Try to create the directory.
DirectoryInfo di = Directory.CreateDirectory(path);
Console.WriteLine("The directory was created successfully at {0}.", Directory.GetCreationTime(path));

// Delete the directory.
di.Delete();
Console.WriteLine("The directory was deleted successfully.");
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
finally {}
}
}

热心网友 时间:2023-10-10 07:52

可以新建文件夹chuzhong
然后遍历E:\初中\数学\人教课标版\八年级上册\第十二章 轴对称\12.1 轴对称\教学交流 下面的文件,复制或剪切到chuzhong下,别忘了改名,还有别忘了删除源文件
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
母爱作文(围绕一句话来写)900字 月经期能喝冰糖沙梨水? 石家庄火车站骗钱 五等分的新娘手游汉化安卓游戏官方下载 昆明看守所那个看守所好在 成建军行政拘留 青岛贵捷充换电设备成套服务有限公司怎么样? 合肥贵捷商贸有限责任公司怎么样? 南京贵捷物资有限公司怎么样? 上海贵捷电气有限公司产品用途 华为nova7pro怎么用万能钥匙 华为手机用什么软件替代了万能钥匙 请问vb 修改资源文件(即修改字符串表的内容) 为什么wifi万能钥匙在华为手机上用不了? win10文件资源管理器怎么换图标 华为手机下载不了wifi万能钥匙华? 如何修改Windows 10文件资源管理器的菜单栏风格 属兔和属龙的相配吗?? 华为手机怎么找不到wifi钥匙 龙和兔配婚姻好不好 属兔的属相婚配宜忌 华为手机的wifi万能钥匙打不开怎么办? 如何修改手机里的文件 属兔和属龙龙的相配吗 如何修改手机里的文件? 属龙和兔的和什么属相最配?谢谢了,大神帮忙啊 如何修改Win10“文件资源管理器”目标指向 龙和兔的属相是否相克? win10怎么更改文件资源管理器图标 龙和兔在属相上相配吗 兔和龙属相是否相配? vb中资源文件的修改 华为手机怎么用万能钥匙连接wifi 如何修改资源管理器&gt;文件夹选项&gt;文件类型的改动 华为手机的wifi万能钥匙打不开怎么回事 钢铁雄心2文件里怎么修改资源? 华为手机万能钥匙怎么没有清理缓存? 如何更改EXE,DLL文件中的图标资源 华为sp200,使用wifi万能钥匙下载哪个软件 华为手机怎么用wifi万能钥匙 - 百度 华为手机wifi万能钥匙限制连接次数 华为手机如何下载wifi万能钥匙 wifi万能钥匙在华为手机上为什么用不了 法律尽职调查的主要内容 什么叫尽职调查? 公司尽职调查内容有哪些? 尽职调查是什么意思啊? 法律尽职调查需要调查哪些方面? OECD尽职调查5步法 法律尽职调查的具体内容 法律尽职调查报告是什么