有关对文件的操作(System.IO)
来源:互联网 发布:java编辑器哪个好 编辑:程序博客网 时间:2024/04/30 08:53
操作文件常用的类有:
File------实用类,提供许多静态方法,用于移动、删除、和复制文件。
Directory------实用类,提供许多静态方法,用于移动、删除和复制目录。
Path------ 实用类,用于处理路徑名称。
FileInfo------表示磁盘上的物理文件,具有可以处理此文件的方法,要完成对文件的读写工作,就必须创建Stream对像。
DirectoryInfo------表示磁盘上的物理目录,具有可以处理此目录的方法
实例:
- public class FileHandle
- {
- public FileHandle()
- { }
- #region 检查文件夹是否存在,如果不存在,则创建新的
- /// <summary>
- /// 检查文件夹是否存在,如果不存在,则创建新的
- /// </summary>
- /// <param name="dir">父级目录地址</param>
- /// <param name="path">子级目录地址</param>
- public void CheckPath(string dir, string path)
- {
- #region 检查文件夹是否存在,如果不存在,则创建新的
- string[] dirs = Directory.GetDirectories(dir);//得到本目录下的所有文件夹路径
- bool tag = false;
- try
- {
- foreach (string dirName in dirs)
- {
- if (dirName.ToLower() == path.ToLower())//如果传入的路径存在于文件夹中
- {
- tag = true;
- }
- }
- if (!tag)
- {
- System.IO.Directory.CreateDirectory(path);//创建文件夹
- }
- }
- catch
- { }
- #endregion
- }
- #endregion
- #region 文件的迁移
- /// <summary>
- /// 文件的迁移
- /// </summary>
- /// <param name="oldUrl">原文件地址</param>
- /// <param name="newUrl">目标地址</param>
- public void CopeFile(string oldUrl, string newUrl)
- {
- #region
- if (!File.Exists(newUrl))//判断文件是存在.
- {
- File.Copy(oldUrl, newUrl, false);//将文件迁移,并是否覆盖
- }
- else
- {
- File.Copy(oldUrl, newUrl, true);//将文件迁移,存在则覆盖
- }
- #endregion
- }
- #endregion
- #region 文件夹的迁移
- /// <summary>
- /// 文件夹的迁移
- /// </summary>
- /// <param name="oldDir">老目录</param>
- /// <param name="newDir">新目录</param>
- /// <param name="flag"></param>
- public void CopFile(string oldDir, string newDir, bool flag)
- {
- #region 文件夹的迁移
- DirectoryInfo m_dir = new DirectoryInfo(oldDir);//创建一个相同名字的目录
- foreach (FileSystemInfo m_fsi in m_dir.GetFileSystemInfos())//目录中所有文件和子目录的类型.
- {
- string m_newDir = Path.Combine(newDir, m_fsi);
- if (m_fsi is DirectoryInfo)
- {
- Directory.CreateDirectory(m_newDir);//如果为目录刚创建
- }
- else
- {
- File.Copy(m_fsi.FullName, m_newDir);//文件直接复制
- }
- }
- #endregion
- }
- #endregion
- #region C#追加文件
- public void AddContentToFile(string filePath)
- {
- #region
- StreamWriter sw=File.AppendAllText(filePath);//将指定的字符追加到文件中,如果不存在,则创建文件
- sw.WriteLine("陈琳");
- sw.WriteLine("的幸福生活");
- sw.WriteLine("从现在开始哦");
- sw.Flush();
- sw.Close();
- #endregion
- }
- #endregion
- #region 删除文件
- public void DelFile(string filepath)
- {
- File.Delete(filepath);//删除文件,不存在,不会发出异常
- }
- #endregion
- #region 移动文件
- public void MoveFile(string oldPath, string newPath)
- {
- File.Move(oldPath, newPath);
- }
- #endregion
- #region 创建目录
- public void CreateFolder()
- {
- #region 创建目录
- // 创建目录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");
- #endregion
- }
- #endregion
- #region 递归删除文件及文件夹
- public void DeleteFolder(string dir)
- {
- #region
- 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 + " 该文件夹不存在"); //如果文件夹不存在则提示
- }
- #endregion
- }
- #endregion
- #region 读取文本文件
- public void ReadFromTxtFile(string txtFileName)
- {
- StreamReader fileStream = new StreamReader(txtFileName, Encoding.Default);
- Console.WriteLine(fileStream.ReadToEnd());//从头读到结束.
- fileStream.Close();
- }
- #endregion
- }
- 有关对文件的操作(System.IO)
- Java IO操作——System类对IO的支持(System.out、System.err、System.in)
- Unity--System.IO文件操作
- java io 对文件操作的示例
- java io对文件的操作
- java io 对文件操作的示例
- io流对文件的操作
- 【C#】C# System.IO的一些文件操作
- IO-System类对IO的支持
- C# System.IO.Directory、System.IO.File文件操作
- 通过IO文件流操作实现对文件的复制
- C# System.IO文件操作整理
- 对一个文件的写入写出操作--IO流
- IO操作 对已有文件的数据续写
- java io流对文件的操作详解
- fopen()函数对文件IO操作时的问题
- Python学习:IO基础(2):对文件目录的操作
- Java IO流——对文件的操作
- 电子书网址
- C# 中的委托和事件
- 什么是五险一金
- C#中的委托和事件(续)
- 如何计算我的“五险一金”
- 有关对文件的操作(System.IO)
- 实现和IE浏览器交互的几种方法的介绍
- 在一个窗体中设置另一个窗体的控件属性
- 两件事:李一男、CS游戏
- 什么是MAC地址
- 中华人民共和国劳动合同法
- 五类软件测试工具
- db2 v9 64位有个进程占用内存4.1G
- C#基础技巧--字符串处理函数