都是最基础的东西,直接贴代码了。
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;namespace FileAPI{ class Program { static void Main(string[] args) { //与目录相关的操作 DirectoryDemo(); //与文件相关的操作 FileDemo(); //与Path类有关的操作 PathDemo(); //与Stream有关的操作 StreamDemo(); } private static void DirectoryDemo() { //建立,删除目录方I var directoryInfo = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestFiles")); directoryInfo.Create(); directoryInfo.Delete(); //建立,删除目录II var direcoty = Directory.CreateDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TestFiles")); direcoty.Delete(); //查找目录 var rootDirectoryInfo = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory); var fileArray = rootDirectoryInfo.GetDirectories(@"*"); //此处是Wild Mask 匹配模式,经测试不是正则匹配模式 foreach (var item in fileArray) { Console.WriteLine("Direcoty Name : {0}",item.Name); } //检测目录是否存在 Console.WriteLine("FilesDirecoty Exist? {0}", Directory.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files"))); Console.WriteLine("VideoDirecoty Exist? {0}", Directory.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Video"))); //移动目录 Directory.CreateDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Video")); var videoDirectoryInfo = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Video")); if (!Directory.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Video"))) videoDirectoryInfo.MoveTo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Dest"));//并非拷贝,而是将该目录重命名后移动 } private static void FileDemo() { //创建文件 File.Create(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Text.txt")).Close(); //删除文件 if(File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Text.txt"))) { var textFileInfo = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Text.txt")); textFileInfo.Delete(); if(!File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Text.txt"))) { Console.WriteLine("Delete success"); } } //移动与拷贝文件 var textFile = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Text.txt")); textFile.Create().Close(); if (!File.Exists(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "MediaText.txt"))) { textFile.MoveTo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "MediaText.txt")); } var mediaTextFile = new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "MediaText.txt")); mediaTextFile.Create().Close(); mediaTextFile.CopyTo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", Guid.NewGuid().ToString())); } private static void PathDemo() { var mediaTextFilePathString = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "MediaText.txt"); //用于根据PATH的字符串提取有用信息 Console.WriteLine(Path.GetDirectoryName(mediaTextFilePathString)); Console.WriteLine(Path.GetExtension(mediaTextFilePathString)); Console.WriteLine(Path.GetFileName(mediaTextFilePathString)); Console.WriteLine(Path.GetFileNameWithoutExtension(mediaTextFilePathString)); Console.WriteLine(Path.GetFullPath(mediaTextFilePathString)); Console.WriteLine(Path.GetPathRoot(mediaTextFilePathString)); } private static void StreamDemo() { File.Create(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Work.txt")).Close(); //写文件 try { using (FileStream fileStream = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Work.txt"), FileMode.OpenOrCreate, FileAccess.Write)) { var ouputString = "I am ready"; fileStream.Write(Encoding.UTF8.GetBytes(ouputString), 0, ouputString.Length); } } catch(DirectoryNotFoundException){} catch (FileNotFoundException) {} //读文件 try { using (StreamReader fileStream = File.OpenText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Files", "Work.txt"))) { var ouputString = fileStream.ReadToEnd(); Console.WriteLine(ouputString); } } catch(DirectoryNotFoundException){} catch (FileNotFoundException) {} } }}