【问题标题】:Best way to pass a file to a function将文件传递给函数的最佳方法
【发布时间】:2009-03-06 16:26:33
【问题描述】:

我现在正在开发一个 VB.NET DLL,我正在编写的函数之一应该是获取一个文件,并剪出一个字节数组(我的方法有效,并且可以在这里被抽象出来)。将文件传递给此函数的最佳方法是什么?将文件名传递给它是最好的,或者最好的方法是什么?

【问题讨论】:

    标签: vb.net file


    【解决方案1】:

    FileStream Class

    来自以上链接的示例

    Private Shared Sub AddText(ByVal fs As FileStream, ByVal value As String)
        Dim info As Byte() = New UTF8Encoding(True).GetBytes(value)
        fs.Write(info, 0, info.Length)
    End Sub
    

    【讨论】:

    • 不是我的意思,但这解决了我的问题,谢谢:)
    【解决方案2】:

    文件名作为字符串是处理文件的老派标准方法。它是人们知道如何正确设置和使用的参数。

    我同意上述 Fredou 和 Greg D 的观点,即 FileStream 是最好的选择。他们只是更容易以正确的方式做事。

    【讨论】:

    • 除非绝对必须,否则不要将文件路径/文件名作为字符串传递。文件流(或它们的逻辑等价物)非常优越。
    • 很多原因。 File.Exists 竞争条件的消除。 FileStream 的既定实用程序(API 应如何处理在无效路径上拒绝访问,例如?如果它必须抛出异常,让 API 用户直接处理它)。文件流本质上更有效。
    • 我忘了提到传递文件流使 API 更适合以后只传递一个流。这样,用户可以从任何类型的流(而不仅仅是文件)中发送数据,并且实际上可以从 API 中获得一些一般用途,而几乎无需额外费用。
    猜你喜欢
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多