[RESOLVIDO]Manipular String

7 respostas
dcorteztec

Bom dia amigos tenho uma dúvida estou gerando um aquivo txt do banco até ai blz só que tenho um campo chamado logradouro
que esta vindo NOMEDARUA,R tem como eu colocar esse R de rua na frente.

desde já muito ogrigado

7 Respostas

rcipriani

dcorteztec:
Bom dia amigos tenho uma dúvida estou gerando um aquivo txt do banco até ai blz só que tenho um campo chamado logradouro
que esta vindo NOMEDARUA,R tem como eu colocar esse R de rua na frente.

desde já muito ogrigado

Acho melhor colocar mais código ai pra gente, mas se for o caso tem isso

String rua = "NOMEDARUA,R";
String[] arrRua = rua.split(",");
String novaRua = arrRua[1]+","+arrRua[0];
thiagotn

Faça um parse desta String. Para fazer este parse você pode usar, por exemplo, a classe StringTokenizer, usando a vírgula como delimitador. Depois joga o conteúdo no começo da String que você quer apresentar.

dcorteztec

thiagotn como eu uso esse método.

rcipriani testei o seu código deu esse erro

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at TXT.GeraTXT.main(GeraTXT.java:36)

A classe que eu gero o txt

package TXT;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Collection;

import pojo.Etiqueta;

public class GeraTXT {

	
	public static void main(String[] args) throws SQLException, IOException {
		String saida = "arquivoSaida2";
		String caminhoArquivo = "C:" + saida + ".txt";
		BufferedWriter ArquivoTXT = null;
		ArquivoTXT = new BufferedWriter(new FileWriter(caminhoArquivo));

		
		Collection<Etiqueta> etiquetas = new GeraEtiqueta().getEtiquetas();
		
		
	    
		for(Etiqueta etiq : etiquetas ){
		    String nome = etiq.getNome().trim();
		    
		    String endereco = etiq.getEndereco().trim();
		    String bairro = etiq.getBairro().trim();
		    String cidade = etiq.getCidade().trim();
		    String uf = etiq.getUf().trim();
		    String cep = etiq.getCep().trim()+"\n";
		    
			ArquivoTXT.write(nome.format("%-60s", nome));
			ArquivoTXT.write(endereco.format("%-60s", endereco));
			ArquivoTXT.write(bairro.format("%-60s", bairro));
			ArquivoTXT.write(cidade.format("%-50s", cidade));
			ArquivoTXT.write(uf.format("%-2s", uf));
			ArquivoTXT.write(cep.format("%-9s", cep));
		}
		
		
		
		ArquivoTXT.newLine();
		ArquivoTXT.flush();
		ArquivoTXT.close();
		
	}

}
rcipriani

dcorteztec:
thiagotn como eu uso esse método.

rcipriani testei o seu código deu esse erro

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at TXT.GeraTXT.main(GeraTXT.java:36)

A classe que eu gero o txt

package TXT;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Collection;

import pojo.Etiqueta;

public class GeraTXT {

	
	public static void main(String[] args) throws SQLException, IOException {
		String saida = "arquivoSaida2";
		String caminhoArquivo = "C:" + saida + ".txt";
		BufferedWriter ArquivoTXT = null;
		ArquivoTXT = new BufferedWriter(new FileWriter(caminhoArquivo));

		
		Collection<Etiqueta> etiquetas = new GeraEtiqueta().getEtiquetas();
		
		
	    
		for(Etiqueta etiq : etiquetas ){
		    String nome = etiq.getNome().trim();
		    
		    String endereco = etiq.getEndereco().trim();
		    String bairro = etiq.getBairro().trim();
		    String cidade = etiq.getCidade().trim();
		    String uf = etiq.getUf().trim();
		    String cep = etiq.getCep().trim()+"\n";
		    
                    //invertendo o endereco, todos enderecos tem que ter , virgula, senao vai da erro, dai tens que tratar
                    String[] arrRua = endereco .split(",");
                    String enderecoOk = arrRua[1]+","+arrRua[0];

			ArquivoTXT.write(nome.format("%-60s", nome));
			ArquivoTXT.write(endereco.format("%-60s", enderecoOk ));
			ArquivoTXT.write(bairro.format("%-60s", bairro));
			ArquivoTXT.write(cidade.format("%-50s", cidade));
			ArquivoTXT.write(uf.format("%-2s", uf));
			ArquivoTXT.write(cep.format("%-9s", cep));
		}
		
		
		
		ArquivoTXT.newLine();
		ArquivoTXT.flush();
		ArquivoTXT.close();
		
	}

}

thiagotn

dcorteztec wrote:
thiagotn como eu uso esse método.

Seria algo parecido com isto:

import java.util.StringTokenizer;

public class ExemploStringTokenizer {

	public static void main(String[] args) {
		String endereco = "Mooca, Rua da";
		String delimitador = ",";
		StringTokenizer s = new StringTokenizer(endereco, delimitador);
		
		String [] saida = new String[2];
		saida[1] = 	(String) s.nextElement();
		saida[0] = 	(String) s.nextElement();
		
		System.out.println(saida[0]+" "+saida[1]);
	}
}
dcorteztec

Resolvi assi, ,uito obrigado pela ajuda o if porq tinha alguns que tins “,” e " " vlw

package TXT;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Collection;


import pojo.Etiqueta;

public class GeraTXT {

	
	public static void main(String[] args) throws SQLException, IOException {
		String saida = "arquivoSaida2";
		String caminhoArquivo = "C:" + saida + ".txt";
		BufferedWriter ArquivoTXT = null;
		ArquivoTXT = new BufferedWriter(new FileWriter(caminhoArquivo));

		
		Collection<Etiqueta> etiquetas = new GeraEtiqueta().getEtiquetas();
		
		
		
		for(Etiqueta etiq : etiquetas ){
		    String nome = etiq.getNome().trim();
		    
		    String endereco = etiq.getEndereco().trim();
		    String bairro = etiq.getBairro().trim();
		    String cidade = etiq.getCidade().trim();
		    String uf = etiq.getUf().trim();
		    String cep = etiq.getCep().trim()+"\n";
		    
		    
		    String novaRua = null;
			String[] arrRua = endereco.split(","); 
			if(arrRua.length<2){
			 novaRua = arrRua[0];
			}else {
				 novaRua = arrRua[1]+","+arrRua[0];	
			}
			
			ArquivoTXT.write(String.format("%-60s", nome));
			
			ArquivoTXT.write(String.format("%-60s", novaRua));
			ArquivoTXT.write(String.format("%-60s", bairro));
			ArquivoTXT.write(String.format("%-50s", cidade));
			ArquivoTXT.write(String.format("%-2s", uf));
			ArquivoTXT.write(String.format("%-9s", cep));
			}

		ArquivoTXT.newLine();
		ArquivoTXT.flush();
		ArquivoTXT.close();
		
	}

}
rcipriani
dcorteztec:
Resolvi assi, ,uito obrigado pela ajuda o if porq tinha alguns que tins "," e " " vlw
package TXT;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Collection;


import pojo.Etiqueta;

public class GeraTXT {

	
	public static void main(String[] args) throws SQLException, IOException {
		String saida = "arquivoSaida2";
		String caminhoArquivo = "C:" + saida + ".txt";
		BufferedWriter ArquivoTXT = null;
		ArquivoTXT = new BufferedWriter(new FileWriter(caminhoArquivo));

		
		Collection<Etiqueta> etiquetas = new GeraEtiqueta().getEtiquetas();
		
		
		
		for(Etiqueta etiq : etiquetas ){
		    String nome = etiq.getNome().trim();
		    
		    String endereco = etiq.getEndereco().trim();
		    String bairro = etiq.getBairro().trim();
		    String cidade = etiq.getCidade().trim();
		    String uf = etiq.getUf().trim();
		    String cep = etiq.getCep().trim()+"\n";
		    
		    
		    String novaRua = null;
			String[] arrRua = endereco.split(","); 
			if(arrRua.length<2){
			 novaRua = arrRua[0];
			}else {
				 novaRua = arrRua[1]+","+arrRua[0];	
			}
			
			ArquivoTXT.write(String.format("%-60s", nome));
			
			ArquivoTXT.write(String.format("%-60s", novaRua));
			ArquivoTXT.write(String.format("%-60s", bairro));
			ArquivoTXT.write(String.format("%-50s", cidade));
			ArquivoTXT.write(String.format("%-2s", uf));
			ArquivoTXT.write(String.format("%-9s", cep));
			}

		ArquivoTXT.newLine();
		ArquivoTXT.flush();
		ArquivoTXT.close();
		
	}

}

Show de bola!!! troca pra [RESOLVIDO]

Abs

Criado 22 de setembro de 2010
Ultima resposta 22 de set. de 2010
Respostas 7
Participantes 3