从Stream生成字节数组

时间:2014-04-02 05:16:08

标签: vb.net silverlight bytearray filestream

我正在尝试从" .rtf"的流中生成字节数组。文件。 代码如下:

Public Sub Button_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    Try
        Dim result As System.Nullable(Of Boolean) = textDialog.ShowDialog()

        If result = True Then
            Dim fileStream As Stream = textDialog.OpenFile()

            GetStreamAsByteArray(fileStream)
        End If
    Catch ex As Exception

    End Try

End Sub

Private Function GetStreamAsByteArray(ByVal stream As System.IO.Stream) As Byte()

    Dim streamLength As Integer = Convert.ToInt32(stream.Length)

    Dim fileData As Byte() = New Byte(streamLength) {}

    ' Read the file into a byte array
    stream.Read(fileData, 0, streamLength)
    stream.Flush()
    stream.Close()

    Return fileData

End Function

上面的代码为打开的文件生成流长度,但返回的字节数组在数组中只有0' s。 如何生成正确的字节数组?

1 个答案:

答案 0 :(得分:0)

您的函数不会将字节数组返回给任何对象。这个例子对我有用:

 Dim bytes = GetStreamAsByteArray(textDialog.File.OpenRead)
 MessageBox.Show(bytes.Length.ToString)