Ervin Matlapeng Ответов: 1

“Ioexception was unhandled” эта ошибка продолжает появляться, как мне избавиться от этой ошибки


Я занят попыткой потоковой передачи файлов, но я продолжаю получать вышеупомянутую ошибку, особенно сопровождаемую:

"Процесс не может получить доступ к файлу 'C:\Users\Lenovo\documents\visual studio 2010\проекты\потоковая передача файлов\файл Streaming\bin\Debug\banking.xls-потому что его использует другой процесс."

но этот файл не открывается и не используется никакой другой программой

Что я уже пробовал:

Imports System.IO

Imports System.Windows.Forms.Form
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click

        Dim FileStr As New FileStream("banking.xls", FileMode.Create, FileAccess.Write)

        Dim a As New StreamWriter(FileStr)

        'a.WriteLine("File should be displayed in the RTB............")
        'a.Close()

        FileStr = New FileStream("banking.xls", FileMode.Open, FileAccess.Read)

        Dim i As New StreamReader(FileStr)

        i.BaseStream.Seek(0, SeekOrigin.Begin)

        If i.Peek() > -1 Then

            rtbDisplay.Text &= i.ReadLine()

        End If
        i.Close()

    End Sub

    Private Sub btnClear_Click(sender As System.Object, e As System.EventArgs) Handles btnClear.Click

        rtbDisplay.Text = ""

    End Sub

    Private Sub btnExit_Click(sender As System.Object, e As System.EventArgs) Handles btnExit.Click

        Me.Close()

    End Sub

    Private Function FileStream() As Object
        Throw New NotImplementedException
    End Function

End Class

Ramza360

Да, вы создаете его и никогда не закрываете, прежде чем попытаться открыть для чтения.

Ervin Matlapeng

Есть ли способ сделать это? пожалуйста, просвети меня

Richard MacCutchan

Кроме того, этот код не будет создавать или читать файлы Excel.

Ervin Matlapeng

Что именно я должен делать?

Richard MacCutchan

Я не знаю, чего именно вы пытаетесь достичь?

Ervin Matlapeng

Информация в электронной таблице excel должна отображаться в vb.net

Richard MacCutchan

Итак, первый тонкий g, который вам нужно изучить, - это то, как читать (и писать) файлы Excel. Вы можете либо использовать Microsoft.Офис.Взаимодействие.Пространство имен Excel ()[^], или драйвер базы данных Jet или ACE, как описано в разделе Работа с MS Excel(xls / xlsx) Использование MDAC и Oledb[^].

Ramza360

Там тоже хороший улов ;)

1 Ответов

Рейтинг:
0

Jochen Arndt

Цитата:
но этот файл не открывается и не используется никакой другой программой
Файл открывается не другим процессом, а вашим собственным приложением!

Вы прокомментировали это Close вызов:
Dim FileStr As New FileStream("banking.xls", FileMode.Create, FileAccess.Write)

Dim a As New StreamWriter(FileStr)

'a.WriteLine("File should be displayed in the RTB............")

' This must be uncommented!
'a.Close()

'Or dispose or close the FileStream instead
FileStr.Dispose()
'FileStr.Close()

'This fails when the file is still opened
FileStr = New FileStream("banking.xls", FileMode.Open, FileAccess.Read)