Bom dia galera eu pesquisei sobre mais eu não entendi como adicionar no meu codigo,esse codigo abaixo busca anexo no email mais o anexo que estao com espaço caracter especiais (ç) ele ta dando erro como retiro isso da minha string, usei o string = teste.replaceAll("~ç", “”); mais esta dando erro, podem me ajudar por favor
protected final Variant urimsalvarAnexoemail( Variant messageVar, Variant Caminho) throws Exception {
String teste = Caminho.getString();
// Verifica se a mensagem passada como parâmetro é um objeto Message
Object messageObj = messageVar.getObject();
if (!(messageObj instanceof javax.mail.Message)) {
return Variant.VARIANT_NULL;
}
javax.mail.Message message = (javax.mail.Message) messageObj;
String tipoDeConteudo = message.getContentType();
if (!tipoDeConteudo.contains("multipart")) {
return Variant.VARIANT_NULL; // não há anexos
}
javax.mail.Multipart conteudo = (javax.mail.Multipart) message.getContent();
int partes = conteudo.getCount();
for (int i = 0; i < partes; i++) { // iterar as partes e extrair os anexos
javax.mail.Part parte = conteudo.getBodyPart(i);
if (!parte.ATTACHMENT.equalsIgnoreCase(parte.getDisposition())) {
continue; // essa parte não é um anexo
}
String nomeDoArquivo = parte.getFileName();
teste = teste += nomeDoArquivo;
InputStream entrada = parte.getInputStream(); // esse é o anexo do email
OutputStream saida = new FileOutputStream(teste); // esse é o arquivo em disco
// copiar os bytes da entrada para a saida
byte[] bytes = new byte[8192]; // buffer de 8KB
for (int lidos = -1; (lidos = entrada.read(bytes)) != -1; saida.write(bytes, 0, lidos)) { /* for sem corpo mesmo */ }
saida.flush();
saida.close();
}
return VariantPool.get(teste);
}
