LER ARQUIVOS TXT E EXCLUIR LINHAS

JONATHANSTECKER 17/03/2011 13:28:42
#368272
Você tem certeza que criou o arquivo como o nome e local correto?
C:\ArquivosErro    este.txt

Só pode ser isso.
PEGUDO 17/03/2011 14:50:36
#368289
Cara eu fiz este exemplo aqui vê se da'pra te ajudar
Estou trabalhando com arquivo de texto no mesmo diretório do executável
você pode ver no trecho: Application.StartupPath & [Ô]\arquivo.txt[Ô]

Neste trecho você deverá mudar para o caminho do seu arquivo OK

Espero ter ajudado.
JEFFERMARTINS 17/03/2011 14:56:43
#368290
Sim, certeza...

Ja mudei ate o nome da pasta e nome do arquivo e alterei no código, mais nao roda
JONATHANSTECKER 17/03/2011 14:57:12
#368291

Exemplo em anexo.
Desenvolvido em VB.NET 2005

Agora coloquei o arquivo no mesmo diretório do executável. Não haverá erro.

Ah, e havia esquecido do método Contains que reparei no exemplo do PEGUDO.
Repare a facilidade.

Imports System.Text
Imports System.IO

Public Class Form1

[ô][ô][ô] <summary>
[ô][ô][ô] Define o local onde estão os arquivos contendo as frases desnecessárias
[ô][ô][ô] </summary>
Private Local As String = Application.StartupPath

Private Sub btnLimparArquivo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLimparArquivo.Click
ExluirLinha(Local & [Ô]\Arquivo.txt[Ô])
End Sub

[ô][ô][ô] <summary>
[ô][ô][ô] Exclui uma liha especifica de um arquivo de texto
[ô][ô][ô] </summary>
[ô][ô][ô] <param name=[Ô]pArquivo[Ô]>Arquivo de texto</param>
Protected Sub ExluirLinha(ByVal pArquivo As String)
Dim Arquivo As StreamWriter
Dim Linhas As New List(Of String)

Using SR As New StreamReader(pArquivo)
Linhas.AddRange(System.IO.File.ReadAllLines(pArquivo.ToString))
SR.Dispose()
SR.Close()
End Using

Arquivo = New StreamWriter(pArquivo)
For Each Linha As String In Linhas.ToArray
If Not Linha.Contains([Ô]T0099[Ô]) And Not Linha.Contains([Ô]T0216[Ô]) Then
Arquivo.WriteLine(Linha)
End If
Next
Arquivo.Close()
End Sub

End Class
JEFFERMARTINS 17/03/2011 15:14:52
#368294
Jonathan e Pegudo,

Muito obrigado.. agora deu certo.

Só mais uma coisa, se puderem me ajudar...
Ao inves de indicar um nome de arquivo fixo, é possivel fazer um loop para que a aplicação execute a rotina em todos os arquivos que estiverem na pasta?

Na maioria dos casos, possuo mais de 100 arquivos com esses 2 erros...

Abraço. muito obrigado!
JONATHANSTECKER 17/03/2011 15:21:40
#368295
        For Each Arquivo As String In Directory.GetFiles([Ô]D:\ArquivosERRO[Ô])
Me.ExluirLinha(Arquivo)
Next
JONATHANSTECKER 17/03/2011 16:08:18
#368298
Conseguiu?
JEFFERMARTINS 17/03/2011 16:13:24
#368300
Opa.... Estava testando..
Sim, consegui....


Muito obrigado.........Isso vai me ajudar mto..

Abraço!
Página 2 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas