Editar TXT

5 respostas
R

Atraves de codigos que achei aqui no forum eu consigo ler e escrever num arquivo txt. Mas não consigo formatar um arquivo txt. Por exemplo.

Supondo que tenho o seguinte texto em um txt:

Gostaria de formatar o arquivo da seguinte forma todas as linhas que não tem dois pontos recebem um # no inicio da linha e as linhas que tem : queria apagar tudo que vem antes dos dois pontos.

Terei como fazer isso?

5 Respostas

_

bom… voce pode ler… tratar e gravar num outro arquivo…

da uma olhada na API de String no site da sun:

http://java.sun.com/j2se/1.3/docs/api/java/lang/String.html

tem bastantes metodos que vc pode usar… como indexOf(char c)… substring(int beginIndex)… startsWith(string s)… da uma olhada

nao sei se te ajuda… mas tambem tem o StringTokenizer:

http://java.sun.com/j2se/1.4.2/docs/api/java/util/StringTokenizer.html

serve pra partir sua string em tokens (pedacos)… seguindo um caracter separador…

boa sorte!

R

Obrigado pela ajuda.

Mas a unica forma de fazer isso seria tratando e criando um outro arquivo? Lendo linha a linha, armazenando a linha tratando ela e colocando em outro arquivo texto? Não teria como apenas editar?

Mesmo assim muito obriado Ranatu.

S

O que você quer dizer com “apenas editar”? Ao ler, tratar e gravar o arquivo, você já o editou.

Você lê a linha. Se não tem dois-pontos, coloca o # no começo.
Pra isso, pode usar o indexOf() e o split(). Exemplo:

if (linhaLida.indexOf(':') == -1) // não tem ':' linhaLida = "#" + linhaLida; else { String[] linhaTemp = linhaLida.split(":"); linhaLida = linhaTemp[1]; }

Agora é só fazer um laço pra ler o arquivo linha a linha, e ir salvando cada linha num StringBuffer

S

Ahh sim, teria que tratar se tivesse vários ‘:’.
Acho que

else { String[] linhaTemp = linhaLida.split(":"); linhaLida = linhaLida.substring( linhaTemp[0].length(), linhaLida.length() );
resolveria.

R

Entendido Schuenemann. Obrigado.

Criado 21 de agosto de 2005
Ultima resposta 21 de ago. de 2005
Respostas 5
Participantes 3