我们偶尔会用到文件操作,其中File、Path和Directory这三个类是比较常见的,今天写了一个测试demo,也是顺便学习一下,记录一二。

BTW,使用这几个类的时候需要引用using System.IO命名空间。

      class Program
{
static void Main(string[] args)
{
//ProcessPath();
//ProcessFile();
//ReadFileByByteArray();
//ReadFileByAllLines();
//ReadFileByAllText();
//WriteFileByByteArray();
//WriteFileByLines();
//WriteFileByText();
UseDirectory();
Console.ReadKey();
}
/// <summary>
/// path类只是在string层面进行操作
/// </summary>
private static void ProcessPath()
{
string path = @"C:\Users\Administrator\Desktop\XX-Net.txt";
string directory = Path.GetDirectoryName(path);
string fileName = Path.GetFileName(path);
string fileNamenoExtension = Path.GetFileNameWithoutExtension(path);
string fileExtension = Path.GetExtension(path);
string ss = Path.ChangeExtension(path, "csv");
Console.WriteLine($"directory is {directory},fileName is {fileName},file without extension is{fileNamenoExtension},extension is {fileExtension},new file is{ss} ");
}
private static void ProcessFile()
{
string path = @"C:\Users\Administrator\Desktop\2.txt";
//File.Create(path);
//File.Delete(path);
//File.Copy(path, @"C:\Users\Administrator\Desktop\3.txt");
File.Move(path, @"C:\Users\Administrator\Desktop\4.txt");
Console.WriteLine("creat successfully...");
}
private static void ReadFileByByteArray()
{
string path = @"C:\Users\Administrator\Desktop\3.txt";
byte[] fileByte = File.ReadAllBytes(path);
string fileByByte = Encoding.Default.GetString(fileByte);
Console.WriteLine(fileByByte);
}
private static void ReadFileByAllLines()
{
string path = @"C:\Users\Administrator\Desktop\3.txt";
string[] fileLines = File.ReadAllLines(path,Encoding.Default);
foreach (var line in fileLines)
{
Console.WriteLine(line);
}
}
private static void ReadFileByAllText()
{
string path = @"C:\Users\Administrator\Desktop\3.txt";
string fileText = File.ReadAllText(path,Encoding.Default);
Console.WriteLine(fileText);
}
private static void WriteFileByByteArray()
{
string path = @"C:\Users\Administrator\Desktop\1.txt";
string fileStr = "大家好,我来了,我的号码是1388888888";
byte[] fileByte = Encoding.Default.GetBytes(fileStr);
File.WriteAllBytes(path, fileByte);
Console.WriteLine("Write Sucessfully...");
}
private static void WriteFileByLines()
{
string path = @"C:\Users\Administrator\Desktop\1.txt";
string[] fileArray = { "你好","我的名字","叫Tom","我来自安徽省阜阳市太和县","他们","都知道我是个好人" };
File.WriteAllLines(path, fileArray);
Console.WriteLine("Write Sucessfully...");
}
private static void WriteFileByText()
{
string path = @"C:\Users\Administrator\Desktop\1.txt";
//File.WriteAllText(path, "落霞与孤鹜齐飞,秋水共长天一色。");
File.AppendAllText(path, "宜将剩勇追穷寇,不可沽名学霸王!");
Console.WriteLine("Write Sucessfully...");
}
private static void UseDirectory()
{
//Directory.CreateDirectory(@"C:\Users\Administrator\Desktop\NewFolder");
//Directory.Delete(@"C:\Users\Administrator\Desktop\NewFolder",true); string[] files = Directory.GetFiles(@"D:\迅雷下载", "*.rmvb",SearchOption.TopDirectoryOnly);
foreach (var file in files)
{
Console.WriteLine(file);
}
Console.WriteLine("Get File Successfully..."); }
}

使用File、Path和Directory进行常见的操作的更多相关文章

  1. C#基础精华04(文件流,文件操作,File、Directory、Path,Directory)

    文件流 FileStream  可读可写  大文件  释放 StreamReader 读取   释放 StreamWriter 写入   释放 using 中释放 File 可读可写  小文件 操作文 ...

  2. [LeetCode] Longest Absolute File Path 最长的绝对文件路径

    Suppose we abstract our file system by a string in the following manner: The string "dir\n\tsub ...

  3. Longest Absolute File Path

    Suppose we abstract our file system by a string in the following manner: The string "dir\n\tsub ...

  4. Leetcode: Longest Absolute File Path

    Suppose we abstract our file system by a string in the following manner: The string "dir\n\tsub ...

  5. [Swift]LeetCode388. 文件的最长绝对路径 | Longest Absolute File Path

    Suppose we abstract our file system by a string in the following manner: The string "dir\n\tsub ...

  6. Leetcode算法比赛----Longest Absolute File Path

    问题描述 Suppose we abstract our file system by a string in the following manner: The string "dir\n ...

  7. Longest Absolute File Path -- LeetCode

    Suppose we abstract our file system by a string in the following manner: The string "dir\n\tsub ...

  8. [LeetCode] 388. Longest Absolute File Path 最长的绝对文件路径

    Suppose we abstract our file system by a string in the following manner: The string "dir\n\tsub ...

  9. 【leetcode】388. Longest Absolute File Path

    题目如下: Suppose we abstract our file system by a string in the following manner: The string "dir\ ...

随机推荐

  1. 如何使用angular-ui的弹出框

    在开发项目时,我们经常性的会遇到弹出框的需求,例如登陆,注册,添加信息等等....面对这一需求,我们当然也可以使用自己的双手进行编写,如果你时间充足可以试试. 今天我们讲解一下如何在angular框架 ...

  2. WEB服务器如何选择 Apache or Nginx?

    Web服务器是直接影响网站性能的关键因素,也是每个站长选择网站运营环境时必然考虑的问题.目前Web服务器市场产品众多,最为主流和代表性的当属Apache.Nginx以及微软的IIS.本文目的是通过Ap ...

  3. redis集群添加删除节点

    Redis3.0集群添加节点 1:首先把需要添加的节点启动 cd /usr/local/cluster/ mkdir 7006 cp /usr/local/cluster/redis.conf  /u ...

  4. VMTools安装

    先启动CentOS并成功登陆如下图,发现底部提示,准备安装 2.选择虚拟机菜单栏--安装VMware tools 3.光驱目录中拷贝VMwareTools-10.0.5-3228253.tar.gz到 ...

  5. Android网络下载图片

    package net.learn2develop.Networking; import android.app.Activity; import android.os.Bundle; import ...

  6. 017 多对多关联映射 双向(many-to-many)

    多对多关联映射 双向 两方都持有对象引用,修改对象模型,但数据的存储没有变化. 再修改映射文件: public class Role { private int id; private String ...

  7. Apache许可翻译

    https://www.apache.org/licenses/LICENSE-2.0 Apache许可 2.0 2004.1 使用.复制和发行的术语和条件. 1 定义 "License&q ...

  8. Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)

    本节我们对 Docker 镜像做个小结. 这一部分我们首先讨论了镜像的分层结构,然后学习了如何构建镜像,最后实践使用 Docker Hub 和本地 registry. 下面是镜像的常用操作子命令: i ...

  9. WPF 简易的跑马灯效果

    最近项目上要用到跑马灯的效果,和网上不太相同的是,网上大部分都是连续的,而我们要求的是不连续的. 也就是是,界面上就展示4项(展示项数可变),如果有7项要展示的话,则不断的在4个空格里左跳,当然,衔接 ...

  10. "php-cgi.exe - FastCGI 进程意外退出" 解决办法

    问题描述: win7下iis中php-cgi.exe - FastCGI 进程意外退出 错误提示: HTTP 错误 500.0 - Internal Server Error D:\phpStudy\ ...