文件操作
:
检查
创建
读取
写入
修改
删除
目录操作 : 检查 创建 读取 写入 修改 删除
--------------------------------------------------------------------------------
文件操作
若要执行此操作
...
请参阅本主题中的示例
...
创建文本文件 向文件写入文本 写入文本文件 向文件写入文本 读取文本文件 从文件读取文本 向文件中追加文本 File.AppendText FileInfo.AppendText 重命名或移动文件 File.Move FileInfo.MoveTo 删除文件 File.Delete FileInfo.Delete 复制文件 File.Copy FileInfo.CopyTo 获取文件大小 FileInfo.Length 获取文件属性 File.GetAttributes 设置文件属性 File.SetAttributes 确定文件是否存在 File.Exists 读取二进制文件 对刚创建的数据文件进行读取和写入 写入二进制文件 对刚创建的数据文件进行读取和写入 检索文件扩展名 Path.GetExtension 检索文件的完全限定路径 Path.GetFullPath 检索路径中的文件名和扩展名 Path.GetFileName 更改文件扩展名 Path.ChangeExtension
目录操作
System.IO 类
目录操作
string[] drives = Directory.GetLogicalDrives(); // 本地驱动器的名 , 如 :C:/ 等 string path = Directory.GetCurrentDirectory(); // 获取应用程序的当前工作目录 Path.GetFileName(@"c:/dir/file.txt"); // 获取子目录的名字 ,result 的结果是 file.txt Directory.GetFiles( 路径及文件名 ) // 获取指定目录中的文件名 ( 文件列表 ) DirectoryInfo di = new DirectoryInfo(@"f:/MyDir"); // 构造函数创建目录 DirectoryInfo di=Directory.CreateDirectory(@"f:/bbs"); // 创建对象并创建目录 if (di.Exists == false) // 检查是否存在此目录 di.Create(); // 创建目录 DirectoryInfo dis = di.CreateSubdirectory("SubDir"); // 以相对路径创建子目录 dis.Delete(true); // 删除刚创建的子目录 di.Delete(true); // 删除创建目录
文件操作
Directory.Delete(@"f:/bbs2", true); // 删除目录及其子目录和内容 ( 如为假不能删除有内容的目录包括子目录 ) Directory.GetDirectories 方法 // 获取指定目录中子目录的名称 string[] dirs = Directory.GetDirectories(@"f:/", "b*"); Console.WriteLine(" 此目录中以 b 开头的子目录共 {0} 个 !", dirs.Length); foreach (string dir in dirs) { Console.WriteLine(dir); } Directory.GetFileSystemEntries // 获取指定目录中的目录及文件名 Directory.GetLogicalDrives // 检索此计算机上格式为 “< 驱动器号 >:/” 的逻辑驱动器的名称 , 【语法同上】 Directory.GetParent // 用于检索父目录的路径。 DirectoryInfo a = Directory.GetParent(path); Console.WriteLine(a.FullName);Directory.Move // 移动目录及其在内的所有文件 Directory.Move(@"f:/bbs/1", @"f:/bbs/2"); // 将文件夹 1 内的文件剪到文件夹 2 内 文件夹 2 是刚创建的
Stream //
对字节的读写操作
(
包含对异步操作的支持
) Reading Writing Seeking
BinaryReader 和 BinaryWriter // 从字符串或原始数据到各种流之间的读写操作
FileStream
类通过
Seek()
方法进行对文件的随机访问
,
默认为同步
TextReader
和
TextWriter //
用于
gb2312
字符的输入和输出
StringReader
和
StringWriter //
在字符串中读写字符
StreamReader
和
StreamWriter //
在流中读写字符
BufferedStream
为诸如网络流的其它流添加缓冲的一种流类型
.
MemoryStream
无缓冲的流
NetworkStream
互联网络上的流
// 编码转换 Encoding e1 = Encoding.Default; // 取得本页默认代码 Byte[] bytes = e1.GetBytes(" 中国人民解放军 "); // 转为二进制 string str = Encoding.GetEncoding("UTF-8").GetString(bytes); // 转回 UTF-8 编码 // 文本文件操作:创建 / 读取 / 拷贝 / 删除 using System; using System.IO; class Test { string path = @ "f:/t.txt" ; public static void Main() { // 创建并写入 ( 将覆盖已有文件 ) if (!File.Exists(path)) { using (StreamWriter sw = File.CreateText(path)) { sw.WriteLine("Hello"); } } // 读取文件 using (StreamReader sr = File.OpenText(path)) { string s = ""; while ((s = sr.ReadLine()) != null ) { Console.WriteLine(s); } } // 删除 / 拷贝 try { File.Delete(path); File.Copy(path, @"f:/tt.txt"); } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } } } // 流文件操作 private const string name = "Test.data"; public static void Main(String[] args) { // 打开文件 () , 或通过 File 创建立如: fs = File.Create(path, 1024) FileStream fs = new FileStream(name, FileMode.CreateNew); // 转换为字节 写入数据 ( 可写入中文 ) Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file."); // 字节数组 , 字节偏移量 , 最多写入的字节数 fs.Write(info, 0, info.Length); w.Close(); fs.Close(); // 打开文件 fs = new FileStream(name, FileMode.Open, FileAccess.Read); // 读取 BinaryReader r = new BinaryReader(fs); for (int i = 0; i < 11; i++) { Console.WriteLine(r.ReadInt32()); } w.Close(); fs.Close(); } |
关于C#对文件的操作
最新推荐文章于 2023-01-05 10:30:31 发布