当前位置:网站首页>C#文件和文件夹输入输出流代码
C#文件和文件夹输入输出流代码
2022-07-15 14:36:00 【全栈程序员站长】
大家好,又见面了,我是全栈君
1、建立一个文本文件
1 public class FileClass
2 {
3 public static void Main()
4 {
5 WriteToFile();
6 }
7 static void WriteToFile()
8 {
9 StreamWriter SW;
10 SW = File.CreateText(@"c:\MyTextFile.txt");
11 SW.WriteLine("God is greatest of them all");
12 SW.WriteLine("This is second line");
13 SW.Close();
14 Console.WriteLine("File Created SucacessFully");
15 }
16 } 2、读文件
1 public class FileClass
2 {
3 public static void Main()
4 {
5 ReadFromFile(@"c:\MyTextFile.txt");
6 }
7 static void ReadFromFile(string filename)
8 {
9 StreamReader SR;
10 string S;
11 SR = File.OpenText(filename);
12 S = SR.ReadLine();
13 while (S != null)
14 {
15 Console.WriteLine(S);
16 S = SR.ReadLine();
17 }
18 SR.Close();
19 }
20 }
21
22
23
24 public class FileClass
25 {
26 public static void Main()
27 {
28 AppendToFile();
29 }
30 static void AppendToFile()
31 {
32 StreamWriter SW;
33 SW = File.AppendText(@"C:\MyTextFile.txt");
34 SW.WriteLine("This Line Is Appended");
35 SW.Close();
36 Console.WriteLine("Text Appended Successfully");
37 }
38 }3、追加操作
C#追加文件
1 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt");
2 sw.WriteLine("追逐理想");
3 sw.WriteLine("http://www.cnblogs.com/roucheng/");
4 sw.WriteLine(".NET笔记");
5 sw.Flush();
6 sw.Close();C#拷贝文件
1 string OrignFile,NewFile;
2 OrignFile = Server.MapPath(".")+"\\myText.txt";
3 NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
4 File.Copy(OrignFile,NewFile,true);C#删除文件 string delFile = Server.MapPath(“.”)+”\\myTextCopy.txt”; File.Delete(delFile);
C#移动文件
1 string OrignFile,NewFile;
2 OrignFile = Server.MapPath(".")+"\\myText.txt";
3 NewFile = Server.MapPath(".")+"\\myTextCopy.txt";
4 File.Move(OrignFile,NewFile);C#创建目录
1 // 创建目录c:\sixAge
2 DirectoryInfo d=Directory.CreateDirectory("c:\\sixAge");
3 // d1指向c:\sixAge\sixAge1
4 DirectoryInfo d1=d.CreateSubdirectory("sixAge1");
5 // d2指向c:\sixAge\sixAge1\sixAge1_1
6 DirectoryInfo d2=d1.CreateSubdirectory("sixAge1_1");
7 // 将当前目录设为c:\sixAge
8 Directory.SetCurrentDirectory("c:\\sixAge");
9 // 创建目录c:\sixAge\sixAge2
10 Directory.CreateDirectory("sixAge2");
11 // 创建目录c:\sixAge\sixAge2\sixAge2_1
12 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;
1 //// <summary>
2 /// 拷贝文件夹(包括子文件夹)到指定文件夹下,源文件夹和目标文件夹均需绝对路径. 格式: CopyFolder(源文件夹,目标文件夹);
3 /// </summary>
4 /// <param name="strFromPath"></param>
5 /// <param name="strToPath"></param>
6
7 //--------------------------------------------------
8 //http://www.cnblogs.com/roucheng/
9 //---------------------------------------------------
10
11 public static void CopyFolder(string strFromPath,string strToPath)
12 {
13 //如果源文件夹不存在,则创建
14 if (!Directory.Exists(strFromPath))
15 {
16 Directory.CreateDirectory(strFromPath);
17 }
18
19 //取得要拷贝的文件夹名
20 string strFolderName = strFromPath.Substring(strFromPath.LastIndexOf("\\") + 1,strFromPath.Length - strFromPath.LastIndexOf("\\") - 1);
21
22 //如果目标文件夹中没有源文件夹则在目标文件夹中创建源文件夹
23 if (!Directory.Exists(strToPath + "\\" + strFolderName))
24 {
25 Directory.CreateDirectory(strToPath + "\\" + strFolderName);
26 }
27 //创建数组保存源文件夹下的文件名
28 string[] strFiles = Directory.GetFiles(strFromPath);
29
30 //循环拷贝文件
31 for(int i = 0;i < strFiles.Length;i++)
32 {
33 //取得拷贝的文件名,只取文件名,地址截掉。
34 string strFileName = strFiles[i].Substring(strFiles[i].LastIndexOf("\\") + 1,strFiles[i].Length - strFiles[i].LastIndexOf("\\") - 1);
35 //开始拷贝文件,true表示覆盖同名文件
36 File.Copy(strFiles[i],strToPath + "\\" + strFolderName + "\\" + strFileName,true);
37 }
38
39 //创建DirectoryInfo实例
40 DirectoryInfo dirInfo = new DirectoryInfo(strFromPath);
41 //取得源文件夹下的所有子文件夹名称
42 DirectoryInfo[] ZiPath = dirInfo.GetDirectories();
43 for (int j = 0;j < ZiPath.Length;j++)
44 {
45 //获取所有子文件夹名
46 string strZiPath = strFromPath + "\\" + ZiPath[j].ToString();
47 //把得到的子文件夹当成新的源文件夹,从头开始新一轮的拷贝
48 CopyFolder(strZiPath,strToPath + "\\" + strFolderName);
49 }
50 }发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120705.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢
随机推荐
zabbix 监控服务 (三) 配置管理图形和窗口
u-boot之顶层Makefile分析(二)之config.mk文件的生成
正则表达式练习
使用vscode搭建u-boot开发环境
如何查看是否有清华源/删除清华源,保留默认源
Top level makefile analysis of u-boot (2) config Generation of MK file
工业交换机的单模和多模能否互相替代?
面试官:抽象工厂模式是什么?
Is it safe to open Huatai Securities account by mobile phone?
云计算SLA思考
Deploy eshopondapr on Tencent cloud eks
使用 DataX 实现 MySQL 数据的高效同步
P4 programmable network card in network computing
双过程理论与三重心智模型
Why are the prices of industrial switches high and low?
codeblocks下载安装教程(完整详细)
u-boot之start.S分析(一)
【福利活动】给你的代码叠个 Buff!点击“茶”收好礼
微信小程序直播插件--获取临时文件(后台集成小程序直播)
Rename file with command line









