Array
(
)

exportando arq txt VB.NET erro: ´File already open´

Ciniro
   - 07 ago 2007

Pessoal preciso muito de ajuda.

Tenho um sistema que vai exportar pelo menos uns 50 arquivos texto (txt). O que ocorre é que eu utilizo o namespace System.IO

dai crio o arquivo

System.IO.File.Create(´caminho´)

na sequencia preciso abrir ele pra editar...

FileOpen(1, ´caminho´, File.Write)

Só que sempre que ele passa pela instrução de abertura do arquivo me retorna um erro que ta enchendo o saco:

´File already open´

OBS: Já usei a instrução FileClose em tudo que é lugar na rotina e de todo jeito.
No 3 paramentro da instrucao FileOpen, ja usei File.Write, File,Append, File.O escambal....

Por favor se alguem já passou por isso e resolveu a situação me dê uma luz...

Obrigado desde já a todos
Ciniro Nametala

Massuda
   - 07 ago 2007

O System.IO.File.Create() cria o arquivo e abre ele para você poder escrever no arquivo; o System.IO.File.Create() retorna um FileStream. Este é um exemplo de uso (do site da MS)...#Código

Imports System
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        Try
            If File.Exists(path) Then
                ´ Note that no lock is put on the
                ´ file and the possibliity exists
                ´ that another process could do 
                ´ something with it between
                ´ the calls to Exists and Delete.
                File.Delete(path)
            End If
            ´ Create the file.
            Dim fs As FileStream = File.Create(path)
            Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")

            ´ Add some information to the file.
            fs.Write(info, 0, info.Length)
            fs.Close()

            ´ Open the stream and read it back.
            Dim sr As StreamReader = File.OpenText(path)
            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
            sr.Close()
        Catch ex As Exception
            Console.WriteLine(ex)       
        End Try
    End Sub
End Class