【问题标题】:How to instantiting System.IO.StreamWriter using ANSI encoding on PowerShell?如何在 PowerShell 上使用 ANSI 编码实例化 System.IO.StreamWriter?
【发布时间】:2012-05-02 08:08:09
【问题描述】:

我没有创建 Power Shell 脚本的经验,我正在尝试实例化提供特定文本编码的 System.IO.StreamWriter 类。我正在尝试这样做:

$file = New-Object System.IO.StreamWriter("sample.txt", [System.Text.Encoding]::Default, 4096)

我收到以下错误消息:

New-Object : Cannot find an overload for "StreamWriter" and the argument count: "3". 
At line:1 char:18 
    + $out = New-Object <<<<  System.IO.StreamWriter("sample.txt", [System.Text.Encoding]::Default, 4096)
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodException
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

我查看了 MSDN 文档 StreamWriter Constructor (Stream, Encoding, Int32),其中包含三个参数的重载。

有人知道如何实例化指定编码的 System.IO.StreamWriter 吗?

谢谢,

【问题讨论】:

    标签: powershell streamwriter


    【解决方案1】:

    您正在尝试调用 StreamWriter(String, Encoding, Int32) - 并且 那个 签名不存在。诚然,错误消息还有一些不足之处......但基本上你要么需要自己创建流,要么使用StreamWriter(String, Boolean, Encoding)。

    【讨论】:

    • 第一个ctor参数是Stream,不是String。
    • @JohnC:没错。但是 OP 试图传递的第一个 argument 是一个字符串。这就是我的观点。
    猜你喜欢
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多