博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
与文件有关的基本API总结
阅读量:6963 次
发布时间:2019-06-27

本文共 5233 字,大约阅读时间需要 17 分钟。

都是最基础的东西,直接贴代码了。

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) {}        }    }}

 

转载于:https://www.cnblogs.com/E-WALKER/articles/4101479.html

你可能感兴趣的文章
站立会议第五天
查看>>
策略模式
查看>>
maven项目在myeclipse中不出现Maven Dependencies 和maven标识的解决方法
查看>>
py递归
查看>>
配置https服务器系列之一:自制ca证书并配置到nodejs-express服务器
查看>>
poj3625 最小生成树 Prim
查看>>
C# 无法将类型为“__DynamicallyInvokableAttribute”的对象强制转换为类型...
查看>>
C# WinForm 技巧十: winfrom 全屏自适应屏幕分辨率
查看>>
js截取字符串substr和substring的区别
查看>>
响应式调研资料
查看>>
Jenkins 修改主目录正解 workspace
查看>>
set git p4merge tool
查看>>
Using SetAdded and SetModified to Change RowState
查看>>
[Google Guava] 3-缓存
查看>>
php的几种运行模式
查看>>
Python 爬虫:煎蛋网妹子图
查看>>
vim常用命令
查看>>
021、镜像小结(2019-01-14 周一)
查看>>
VS CODE 快捷键
查看>>
一只老鼠夹
查看>>