5

我的意思是,当您需要存储或传递 URL 时,使用字符串可能是一种不好的做法,而更好的方法是使用 URI 类型。然而,让复杂的事情变得更加复杂和臃肿是很容易的。

因此,如果我要写入磁盘上的文件,我是传递一个字符串,作为文件名和文件路径,还是有更好的类型更适合需求?

这段代码似乎很笨重,而且容易出错?我还需要检查它是否是一个有效的文件名,如果字符串包含数据并且列表还在继续。

private void SaveFile(string fileNameAndPath) { //保存文件的正常内容 }

4

5 回答 5

5

文件名可以使用字符串。.Net 框架使用字符串作为文件名,这似乎很好。

要验证文件名,您可以尝试使用正则表达式或针对 System.IO.Path.GetInvalidFileNameChars 检查无效字符。但是,通过处理尝试创建文件时将发生的异常,处理无效文件名的异常情况可能更容易——而且无论如何你都需要这样做......

于 2010-05-27T07:10:17.547 回答
4

不幸的是,字符串是在 .NET 中执行此操作的惯用方式 - 如果您查看FileStream构造函数等内容,它们使用字符串。

可以考虑使用FileInfo(or DirectoryInfo) 但这有点不寻常。

于 2010-05-27T07:01:34.220 回答
1

您可以使用 FileInfo(来自 System.IO)来传递它,但在引用文件时字符串或多或少是标准的。

您始终可以使用 Path.GetFileName({yourstring}) 从路径中获取文件名。

于 2010-05-27T07:01:40.773 回答
0

字符串很好,但您应该努力确保将文件保存到您期望的目录中。

于 2010-05-27T07:14:07.920 回答
0

如果您正在使用文件路径,则通常使用字符串。

如果您正在使用 URL,您可以考虑使用System.Uri类,例如

Uri myUri = new Uri(myUrl, UriKind.Absolute);

这将允许您使用 uri.Host、uri.Absolute 路径等属性。它还将为您提供 url 中单独子文件夹的字符串数组 (Segments)。

MSDN 信息在这里:System.Uri

于 2010-05-27T08:32:25.573 回答