从Stream生成字节数组

问题描述 投票:2回答:1

我试图从“.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。如何生成正确的字节数组?

vb.net silverlight bytearray filestream
1个回答
0
投票

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

 Dim bytes = GetStreamAsByteArray(textDialog.File.OpenRead)
 MessageBox.Show(bytes.Length.ToString)
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.