Pessoal tenho trocentos arquivos TXT, que tem vários caracteres:
"!@#$%¨&*(+_)(*&¨%$#@!" serdctfvygbhunijkokiuhygyf346587908y7tyuiojaf-098yu!@#$%¨&*()_DFGHJKDFGHJKJH
Gostaria de ler o arquivo e depois limpar onde tivece @#$%¨&…
Alguém pode da uma ajuda ?
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.RandomAccessFile;
import java.util.StringTokenizer;
public class Leitura {
public void arquivo() {
String linha = null;
try {
// instancia do arquivo que vou ler
FileReader reader = new FileReader("mapeamento");
BufferedReader leitor = new BufferedReader(reader);
// loop que percorrerá todas as linhas do arquivo.txt que eu quero ler
while ((linha = leitor.readLine()) != null) {
//No metodo StringTokenizer passo os parametros que quero ler, em seguida o que eu quero descartar no meu caso ( - ) e ( ; ).
StringTokenizer st = new StringTokenizer(linha, "-;" );
// Aqui determino que enquanto existir tokens que ele faça a leitura
String dados = st.nextToken();
System.out.print(dados);
System.out.println("");
}
leitor.close();
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Leitura t = new Leitura();
t.arquivo();
}
}
Tente usar o método replace da String , tipo:
suaString.replace("!@#$%","")
Não intendi ! pode da um exemplo ?
Usar replace não resolve?
E vc está mesmo programando em Java 4?
Sim satanas!
Pega a String que vc quer tirar os caracteres especiais e faz isso
dados = eliminaCaracteresEspeciais(dados);
public String eliminaCaracteresEspeciais(String dados) {
StringBuilder strb = new StringBuilder();
String[] especiais = {"!","@","#","$","%","&","*","(","+","_",")" }; //nessa lista vc coloca todos os caracteres q vc nao quer
for(String str : especiais) {
strb.append( str.replace(str,""));
}
return strb.toString;
}
Vini, tu ta velho pra caralho… a outra foto parecia ter 16 anos… putz
Cara, nao deu certo nao usando !
Abraço.
luiz_renato Não me chama assim que fico até emocionado !
Obrigado deu certo de primeira !
Era um errinho bobo aqui… !
Abraço.
Na outra foto eu tinha 23. Nessa 31.
O tempo passa mesmo.
Mas na sua outra foto, vc parecia homem…hhehehe…
Quem é nessa sua foto atual?
Sou eu mesmo ! e que agora Mudei de Sexo ! kkkkkkk
Minha esposa !
Abraço e obrigado !
Luiz, quando eu mando rodar ele ler mas não tira os caracteres especiais !
Que tu acha ?
[code]import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;
/**
*
public class Caracteres {
public void arquivo() {
String linha = null;
try {
// instancia do arquivo que vou ler
FileReader reader = new FileReader(“mapeamento”);
BufferedReader leitor = new BufferedReader(reader);
// loop que percorrerá todas as linhas do arquivo.txt que eu quero ler
while ((linha = leitor.readLine()) != null) {
//No metodo StringTokenizer passo os parametros que quero ler, em seguida o que eu quero descartar no meu caso ( - ) e ( ; ).
StringTokenizer st = new StringTokenizer(linha, "-;" );
// Aqui determino que enquanto existir tokens que ele faça a leitura
String dados = st.nextToken();
System.out.print(dados);
System.out.println("");
}
leitor.close();
reader.close();
} catch (Exception e) {
}
}
public static void main(String[] args) {
Leitura t = new Leitura();
t.arquivo();
}
dados = eliminaCaracteresEspeciais(dados);
public String eliminaCaracteresEspeciais(String dados) {
StringBuilder strb = new StringBuilder();
String[] especiais = {"!","@","#","$","%","&","*","(","+","_",")" }; //nessa lista vc coloca todos os caracteres q vc nao quer
for(String str : especiais) {
strb.append( str.replace(str,""));
}
return strb.toString;
}
}
[/code]
Escuta, pelo código mostrado (não sei se vc copiou certo pra msg ) o trecho que te falei tem que estar na linha 41
dados = eliminaCaracteresEspeciais(dados);
tem que estar log depois da linha lida do arquivo 25
String dados = st.nextToken();
dados = eliminaCaracteresEspeciais(dados);
System.out.print(dados);
Mas copia a String q vc está lendo do arquivo pra dar uma olhada.
Perdão satan, erro crasso e ridículo meu, o método correto é :
public static String eliminaCaracteresEspeciais(String dados) {
String[] especiais = {"!","@","#","$","%","&","*","(","+","_",")" }; //nessa lista vc coloca todos os caracteres q vc nao quer
for(String str : especiais) {
dados = dados.replace(str,"");
}
return dados;
}
Este código encontra os caracteres especiais e substitui por ’ ’ espaço vazio.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class Leitura {
public void arquivo() {
try {
String arquivoLeitura = "arquivo2.txt";
InputStream e = new FileInputStream(arquivoLeitura);
InputStreamReader hes = new InputStreamReader(e);
BufferedReader br = new BufferedReader(hes);
String s = br.readLine();
OutputStream escrita = new FileOutputStream(arquivoLeitura);
OutputStreamWriter wEscrita = new OutputStreamWriter(escrita);
BufferedWriter bEscrita = new BufferedWriter(wEscrita);
String[] especiais = {"!","@","#","$","%","&","*","(","+","_",")" };
while(s!=null){
char b[] = s.toCharArray();
StringBuilder sb = new StringBuilder();
for(char agumento:b){
for(String pi:especiais ){
String nova = Character.toString(agumento);
if(nova.equals(pi)){
agumento=' ';
}
}
sb.append(agumento);
}
bEscrita.write(""+sb);
System.out.println(sb);
s = br.readLine();
}
br.close();
bEscrita.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Leitura t = new Leitura();
t.arquivo();
}
}
run:
java.io.FileNotFoundException: arquivo2.txt (O sistema não pode encontrar o arquivo especificado)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at Leitura.arquivo(Leitura.java:20)
at Leitura.main(Leitura.java:71)
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
Problema e que não acha o arquivo ele t? c:\
?
Tem que substituir “arquivo2.txt” pelo nome do seu arquivo.
Ele deve ter colocado esse nome só para testar…
Pois é Vini, isso eu fiz… testei no linux e no windows… ele não encontra o arquivo, a pergunta é… onde será que ele vai buscar o arquivo. CLASPATH…
c:
\
por padrão ! ou será que tem que por o c:\arquivo.txt
testei de várias maneiras… da o mesmo erro.
Ele busca no caminho de execução. Normalmente, a mesma pasta onde o .jar está, caso você não tenha especificado nada.
Na variável arquivoLeiteura você tem que falar o caminho de onde está o seu arquivo se tiver usando eclipse e só colocar o arquivo no diretório do projeto. Coloque tambem a extensão do arquivo.
Ex com caminho absoluto:
String arquivoLeitura = “C:/Users/magno/workspace/ProjetoArquivo/NomeDoSeuArquivo.txt”