.NET 应用中练习 – 创建文件和目录

内容纲要

可使用 .NET 中的 File 和 Directory 类,以编程方式创建新文件和目录。

到目前为止,你已在 .NET 中创建了一个可靠的命令行应用程序,该应用程序可以读取任何文件夹结构来查找具有 .json 扩展名的文件。 需要读取这些文件以加总其中的数据。 然后,将总计写入新目录中名为“salesTotals”的新文件。

在此练习中,你将创建 salesTotalsDir 目录和 totals.txt 文件,其中显示相关的销售总额。

创建 SalesTotals 目录

在 Program.cs 文件中,删除循环访问的 foreach 循环,并将从 FindFiles 函数返回的每个文件名写入控制台输出。 这将导致不再使用变量 salesFiles。 现在,暂时将其保留,因为在以后的课程中将再次使用它。

在 Program.cs 文件中,创建一个名为 salesTotalDir 的变量,该变量包含 salesTotalDir 目录的路径:

var currentDirectory = Directory.GetCurrentDirectory();
var storesDirectory = Path.Combine(currentDirectory, "stores");

var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir");

var salesFiles = FindFiles(storesDirectory);

在 Program.cs 文件中,添加代码以创建目录:

var currentDirectory = Directory.GetCurrentDirectory();
var storesDirectory = Path.Combine(currentDirectory, "stores");

var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir");
Directory.CreateDirectory(salesTotalDir);   // Add this line of code

var salesFiles = FindFiles(storesDirectory);

写入 totals.txt 文件

在 Program.cs 文件中,添加代码以在新创建的 salesTotalDir 目录中创建名为 totals.txt 的空文件。 现在使用空字符串作为该文件的内容:

var currentDirectory = Directory.GetCurrentDirectory();
var storesDirectory = Path.Combine(currentDirectory, "stores");

var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir");
Directory.CreateDirectory(salesTotalDir);

var salesFiles = FindFiles(storesDirectory);

File.WriteAllText(Path.Combine(salesTotalDir, "totals.txt"), String.Empty);

按 Ctrl+S / Cmd+S 保存文件。

通过从终端提示符运行以下代码来运行程序:

dotnet run

选择“文件”资源管理器中的“刷新”图标。

操作即将完成。 最后一步是读取销售文件,加总总额,将得到的总计写入新的“totals.txt”文件。 接下来,你将学习如何读取和分析文件中的数据。

遇到困难了?

如果在此练习中遇到问题,可参考以下到目前为止的完整代码:

var currentDirectory = Directory.GetCurrentDirectory();
var storesDirectory = Path.Combine(currentDirectory, "stores");

var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir");
Directory.CreateDirectory(salesTotalDir);     
var salesFiles = FindFiles(storesDirectory);

File.WriteAllText(Path.Combine(salesTotalDir, "totals.txt"), String.Empty);

IEnumerable<string> FindFiles(string folderName)
{
    List<string> salesFiles = new List<string>();

    var foundFiles = Directory.EnumerateFiles(folderName, "*", SearchOption.AllDirectories);

    foreach (var file in foundFiles)
    {
        var extension = Path.GetExtension(file);
        if (extension == ".json")
        {
            salesFiles.Add(file);
        }
    }

    return salesFiles;
}

给TA打赏
共{{data.count}}人
人已打赏
.NET

.NET 创建文件和目录

2022-8-24 16:35:31

.NET

.NET 应用中的读取和写入文件

2022-8-24 16:45:27

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索