C# Path类、File类、Directory类复习

原创 小道  2019-01-06 21:00:50  阅读 508 次 评论 0 条
摘要:

Path类:对包含文件或目录路径信息的 String 实例执行操作。 这些操作是以跨平台的方式执行的。命名空间: System.IOPath

Path类:对包含文件或目录路径信息的 String 实例执行操作。 这些操作是以跨平台的方式执行的。

命名空间: System.IO

Path类常用方法:

using System;
using System.IO;

namespace Path类复习
{
    class Program
    {
        static void Main(string[] args)
        {
            string p = @"D:\Users\Desktop";//路径
            string n = @"小道博客.txt";//文件
            string path = Path.Combine(p, n);//将两个字符串合并成一个路径。可以方便解决不加斜线问题。自动处理路径分隔符问题。
            Console.WriteLine("{0} 和 {1} 合并后得到: {2}.", p, n, path);//输出

            Console.WriteLine("判断 {0} 路径,是否是具体文件路径: {1}", path, Path.HasExtension(path));
            //确定路径是否包括文件扩展名。通过确定扩展名 来判断 路径是否为 具体文件路径。

            Console.WriteLine("从路径 {0} 中获取到路径为: {1}", path, Path.GetDirectoryName(path));
            //返回指定路径字符串的目录信息。

            Console.WriteLine("{0} 文件的扩展名为: {1}", n, Path.GetExtension(path));
            //返回指定的路径字符串的扩展名。

            Console.WriteLine("{0} 路径下的文件名为(包括扩展名): {1} ", path,Path.GetFileName(path));
            //返回指定路径字符串的文件名和扩展名。

            Console.WriteLine("{0} 路径下的文件名为(不包括扩展名): {1} ", path,Path.GetFileNameWithoutExtension(path));
            //返回不具有扩展名的指定路径字符串的文件名。

            Console.WriteLine("本程序当前所在绝对路径: {0}",Path.GetFullPath(@".\"));
            //返回指定路径字符串的绝对路径。

            Console.WriteLine("将路径 {0} 文件扩展名改为(png): {1}",path,Path.ChangeExtension(path,"png"));
            //更改路径字符串的扩展名。仅更改 路径 字符串 的扩展名,具体文件未更改。

            Console.ReadKey();
        }
    }
}

输出结果:

image.png


File类:提供用于创建、复制、删除、移动和打开单一文件的静态方法,并协助创建 FileStream 对象。

命名空间: System.IO

File类常用方法:

using System;
using System.IO;

namespace File类复习
{
    class Program
    {
        static void Main(string[] args)
        {
            File.Create(@"D:\Users\Desktop\小道博客.txt");
            Console.WriteLine("创建成功!");

            File.Copy(@"D:\Users\Desktop\文本1.txt", @"D:\Users\Desktop\复制文件1.txt");
            Console.WriteLine("复制成功!");

            File.Move(@"D:\Users\Desktop\文本2.txt", @"D:\Users\小道博客.txt");
            Console.WriteLine("剪切成功!");

            File.Delete(@"D:\Users\Desktop\文本3.txt");
            Console.WriteLine("删除成功!");
            Console.ReadKey();
        }
    }
}

输出结果:

image.png


使用File类 读写操作。

using System;
using System.IO;
using System.Text;

namespace File类复习
{
    class Program
    {
        static void Main(string[] args)
        {
            //使用 WriteAllBytes 写入文件。覆盖文件内容
            string strWrite = "使用 WriteAllBytes 写入文件.";
            byte[] bW = Encoding.UTF8.GetBytes(strWrite);
            File.WriteAllBytes(@"D:\Users\Desktop\小道博客.txt", bW);
            Console.WriteLine("使用 WriteAllBytes 写入文件成功.");

            //使用 ReadAllBytes 读取文件。
            byte[] buffer = File.ReadAllBytes(@"D:\Users\Desktop\小道博客.txt");
            string str = Encoding.UTF8.GetString(buffer);
            Console.WriteLine("\r\n使用 ReadAllBytes 读取数据.\r\n{0}", str);

            //使用 WriteAllLines 写入文件。覆盖文件内容
            File.WriteAllLines(@"D:\Users\Desktop\小道博客.txt", new string[] { "使用", "WriteAllLines", "写入文件." });
            Console.WriteLine("\r\n使用 WriteAllLines 写入文件成功.");

            //使用 ReadAllLines 读取文件。
            string[] strs= File.ReadAllLines(@"D:\Users\Desktop\小道博客.txt", Encoding.UTF8);
            Console.WriteLine("\r\n使用 ReadAllLines 读取数据.");
            for (int i = 0; i < strs.Length; i++)
            {
                Console.WriteLine(strs[i]);
            }

            //使用 WriteAllText 写入文件。覆盖文件内容
            File.WriteAllText(@"D:\Users\Desktop\小道博客.txt", "使用 WriteAllText 写入文件.");
            Console.WriteLine("\r\n使用 WriteAllText 写入文件成功.");

            //使用 ReadAllText 读取文件。
            string strtxt = File.ReadAllText(@"D:\Users\Desktop\小道博客.txt", Encoding.UTF8);
            Console.WriteLine("\r\n使用 ReadAllText 读取数据.\r\n{0}", strtxt);

            Console.ReadKey();
        }
    }
}

输出结果:

image.png

文本追加:

using System;
using System.IO;

namespace File类复习
{
    class Program
    {
        static void Main(string[] args)
        {
            //文本追加。
            File.AppendAllText(@"D:\Users\Desktop\追加文本.txt", "小道博客\r\n");
            Console.WriteLine("文本追加成功.");
            File.AppendAllText(@"D:\Users\Desktop\追加文本.txt", "https://www.daobk.com");
            Console.WriteLine("文本追加成功.");
            Console.ReadKey();
        }
    }
}

输出结果:

image.pngimage.png


Directory类:公开用于通过目录和子目录进行创建、移动和枚举的静态方法。 此类不能被继承。

命名空间: System.IO

Directory类常用方法:

using System;
using System.IO;

namespace Directory类复习
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建新建文件夹
            Directory.CreateDirectory(@"D:\Users\Desktop\新建文件夹");
            Console.WriteLine("新建文件夹成功.");

            //移动文件夹
            Directory.Move(@"D:\Users\Desktop\新建文件夹", @"D:\Users\新建文件夹");
            Console.WriteLine("移动文件夹成功.");

            //删除文件夹。若要移除 path 中的目录、子目录和文件,则为 true;否则为 false。
            Directory.Delete(@"D:\Users\新建文件夹", true);
            Console.WriteLine("删除文件夹成功.");

            Console.ReadKey();
        }
    }
}

输出结果:

image.png

文件夹判断是否存在和获取文件夹内所有文件路径:

using System;
using System.IO;

namespace Directory类复习
{
    class Program
    {
        static void Main(string[] args)
        {
            //确定给定路径是否引用磁盘上的现有目录。
            if (Directory.Exists(@"D:\Users\Desktop\图片"))
            {
                Console.WriteLine("有文件夹.");
            }
            else
            {
                Console.WriteLine("没有文件夹.");
            }

            //返回指定目录中与指定的搜索模式匹配的文件的名称(包含它们的路径)。
            string[] strs = Directory.GetFiles(@"D:\Users\Desktop\图片", "*.*");
            for (int i = 0; i < strs.Length; i++)
            {
                Console.WriteLine(strs[i]);
            }

            Console.ReadKey();
        }
    }
}

输出结果:

image.png

本文地址:https://daobk.com/post/165.html
版权声明:本文为原创文章,版权归 小道 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?