ARQUIVO TEXTO

NEI2009 29/08/2009 14:22:48
#321345
Pessoal

Qual seria a melhor maneira de trabalhar com arquivo texto com tamanho acima de 1giga, sendo que irei ler todo o arquivo e concatenar mais informações, onde estou preocupado com a performance, devido a quantidade de registros ?
EMERSONTADEU 29/08/2009 15:06:07
#321348
Em DOTNET utilize StringBuilder(), terá o desempenho das APIs de string do rWindow$

Imports System.Text
Public Class Form1
Public Function RemoveAccentMarks(ByVal s As String) As String
Dim normalizedString As String = s.Normalize(NormalizationForm.FormD)
Dim intNormalize As Integer = normalizedString.Length - 1
Dim stringBuilder As New StringBuilder()
Dim c As Char
For i As Integer = 0 To intNormalize
c = normalizedString(i)
If System.Globalization.CharUnicodeInfo.GetUnicodeCategory(c) <> System.Globalization.UnicodeCategory.NonSpacingMark Then
stringBuilder.Append(c)
End If
Next
Return stringBuilder.ToString

End Function
End Class
NEI2009 29/08/2009 18:12:53
#321354
Emerson e Grupo

E qual seria a melhor maneira de abrir arquivos com tamanho acima de 1 giga, e trabalhando com as informações acima ?
EMERSONTADEU 30/08/2009 05:54:54
#321370
Citação:

NEI2009 escreveu:
Emerson e Grupo

E qual seria a melhor maneira de abrir arquivos com tamanho acima de 1 giga, e trabalhando com as informações acima ?



Procurando no MSDN ... visitando sites como este http://www.codeproject.com/KB/vb/File2SB.aspx e procurar sources que façam algo parecido.

Atenção, eu disse sources e não free tools ... tem muita diferença !!

Infelizmente existem muitos tolos que acreditam que ninguém oferece free software a troco de instalar um monte de praga pela Net.
NEI2009 30/08/2009 20:51:15
#321397
Eu preciso ler todo o arquivo, e depois concatenar mais informações nele.
EMERSONTADEU 06/09/2009 21:25:07
#322167
Citação:

NEI2009 escreveu:
Eu preciso ler todo o arquivo, e depois concatenar mais informações nele.



Não vc não precisa disto, embora a memória dos micros de hj em dia caberem pelo menos 2 GB este não é um recurso exclusivo do seu sistema !

Aliás, eu corto meu braço esquerdo se algum user tiver condição de fazer análise seja lá do que for que ocupe 1 GB na tela ... talvez os jogos mais moderto 3D gastem isso.

Vc vai precisar otimizar seu algorítmo para fazer somente o que precisa ser feito ... se precisa ler, leia uma parte e processe e se precisar gravar abra o arquivo no hj for imput e junte a informação.

Infelizmente vc tem que prever que o cara vai querer usar o browser, MSN, Media player ao mesmo tempo !

Resumindo, se alguém estiver fazendo a análise para vc programar pode mandar o cara de volta a pranxeta !
EMERSONTADEU 08/09/2009 17:27:51
#322314
Vc só precisa de um comando inserir informação ao arquivo texto ... parece-me que pelo visto se não escrever o código isto não se resolve ...

 

Read from a file

VB6
Open path For Input As #1
Line Input #1, buffer
Close #1

VB7
Dim fs As FileStream = File.Open(path, FileMode.OpenOrCreate, _ FileAccess.Read)
Dim sr As New StreamReader(fs)
Buffer = sr.ReadLine
sr.Close

Write to a file

VB6
Open path For Output As #1
Write #1, buffer
Close #1

VB7
Dim fs As FileStream = File.Open(path, FileMode.OpenOrCreate, FileAccess.Write)
Dim sr As New StreamWriter(fs)
sr.Write(buffer)
sr.Close



Fonte : http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=205&lngWId=10
EMERSONTADEU 22/09/2009 01:06:25
#323381
Afinal, conseguiu resolver o problema ou mudou de emprego ??
Tópico encerrado , respostas não são mais permitidas