Java – Remover tags HTML de uma String (How to remove HTML from String)

html to text

A classe ParserDelegator junto com a interface HTMLEditorKit.ParserCallback do pacote ‘javax.swing.text.html’ permite o reajuste de um texto em HTML para um texto comum, ajustando todas as tags de acentuação e retirando todas as demais tags. Vamos criar uma classe que será responsável por isso, veja abaixo:

public class HtmlToText extends HTMLEditorKit.ParserCallback {

    private StringBuilder s;

    public HtmlToText() {
    }

public String parse(String texto) throws Exception {
byte[] dados = texto.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(dados);
Reader reader = new InputStreamReader(bais);
return parse(reader);
}

    public String parse(Reader in) throws IOException {
        s = new StringBuilder();
        ParserDelegator delegator = new ParserDelegator();
        delegator.parse(in, this, Boolean.TRUE);
        return getText();
    }

    @Override
    public void handleText(char[] text, int pos) {
        s.append(text);
        s.append("n");
    }

    public String getText() {
        return s.toString();
    }
}

Para utilizarmos segue o exemplo:

Continue reading

Android – Remover tags HTML de uma String (How to remove HTML from String)

android_html

A classe Html do pacote ‘android.text’ permite que  todas as tags html de uma string seja retirada e ajustada sua acentuação, ela também permite a conversão de uma String em html padrão, veja abaixo como isso é feito:

import android.text.Html;

[...]
//texto html
String html = "<p><div>Corre&ccedil;&otilde;es Monitor 1.0.0.43:</div>";

//corrigindo o texto
String texto = Html.fromHtml(html).toString();

//passando para html
String texto2 = Html.toHtml(new SpannableString(texto));

//saida do sistema:
//html: "<p><div>Corre&ccedil;&otilde;es Monitor 1.0.0.43:</div>"
//texto: "Correções Monitor 1.0.0.43:"
//texto2: "<p>Correções Monitor 1.0.0.43:</P>"

Caso você não esteja trabalhando com o Android e queira fazer o mesmo no Java SE veja:
Java – Remover tags HTML de uma String (How to remove HTML from String)

Java – Usando o SimpleDateFormat

Acredito que varias pessoas já tiveram problemas com o objeto Date, ou ajustar uma String de data com formato americano por exemplo.

O SimpleDateFormat é uma Classe bem simples de ser utilizada e totalmente útil para esse assunto. Com o SimpleDateFormat você pode definir seus próprios padrões de data, por exemplo, dd/mm/aaaa, dd/mm/aaaa, aaaa-mm-dd, e assim por diante. Os padrões de letras são definidas na imagem abaixo (todos os outros caracteres de ‘A’ a ‘Z’ e de ‘a’ a ‘z’ são reservados):

Tabela SimpleDateFormat

Abaixo  vamos mostrar um exemplo bem simples da utilização dessa Classe.
Continue reading

Linux – Java no navegador – Plugin Java para Chrome e Firefox

A plugin is needed to display this content

Plugin is needed

Depois de muito tempo tentando rodar o plugin do java no meu navegador consegui resolver o problema.

Primeiramente se você não tiver o java baixe e instale o Java-JRE segue o link:
http://www.java.com/pt_BR/download/manual.jsp

Depois de instalado faça os seguintes procedimentos:
Continue reading

Java – Persistência com XML

Uma maneira bem simples de trabalhar com XML em java.
Esta maneira utiliza a biblioteca javax.xml.bind.

Este modo de trabalho com XML é simples pois ele trabalha com sua estrutura de objetos usando annotations,
você define toda sua estrutura de xml de acordo com seus objetos.

Exemplo:

Objeto A{
List B b;
}

Objeto B{
String nome;
String telefone;
}

Main{
a = novo A;
a.add(novo B(teste1,1111111111));
a.add(novo B(teste2,1111111111));
gravarEmXML(a);
}

XML:

< a >
 < b >
 < nome > teste1 < / nome >
    < telefone > 1111111111 < / telefone >
    < / b >
 < b >
    < nome > teste2 < / nome >
    < telefone > 1111111111 < / telefone >
 < / b >
< / a >

Simples não? tendo o XML também pode-se fazer o inverso:

Main{
a = pegarXML();
//seu objeto A já vai estar com os dados teste1 e teste2 conforme você gravou.
}

Porem você deve usar as tag’s annotations em seus objetos como no exemplo abaixo seguindo o mesmo raciocínio:

Continue reading

There is insufficient storage to install this suite – J2ME

Ao compilar um projeto J2ME no Windows me deparei com o seguinte problema:

*** Error ***
A problem occured during deploying application from http://127.0.0.1:2317/EXEMPLO.jad
* Reason:
There is insufficient storage to install this suite

Continue reading

java.lang.IllegalArgumentException: width<=0 height<=0

Olá.
Bom, me deparei com o seguinte problema ao tentar compilar um projeto J2ME:
Ao tentar executar o programa o compilador abria e logo feixando dando a seguinte excessão:

“java.lang.IllegalArgumentException:  width<=0 height<=0″

(e varias outras mensagens como :
“java.lang.IllegalArgumentException:  width<=0 height<=0″
java.lang.IllegalArgumentException:  width<=0 height<=0
at java.awt.image.SampleModel.<init>(libgcj.so.11)
received signal SIGSEGV
Method…………: b745970c ‘javax/microedition/lcdui/ImmutableImage.createIcon (static)’
at java.awt.image.SinglePixelPackedSampleModel.<init>(libgcj.so.11)
[...]
)

Continue reading

Clonar Objeto em J2ME

Clonar Objeto em J2ME

Estava procurando uma melhor forma de utilizar a clonagem de objeto em j2me, e encontrei esta.

A clonagem que eu digo, é uma copia com valores identicos de uma outra instancia. Utilizo isso para
fazer verificações de alteracao do objeto.

Na classe que desejamos clonar iremos criar um contrutor que receba ela mesma,
assim ela vai receber a classe e popularemos o novo objeto com seus valores.
Criando um novo objeto identico.

Segue o exemplo abaixo da implementação do contrutor:

public class MinhaClasse {

    String nome;
    int idade;
    /**outros atributos**/
    
    /** Contrutor responsavel por criar um objeto clonado.
     * 
     * @param c MinhaClasse
     */
    public MinhaClasse(MinhaClasse c) {
        /** faça a clonagem ex:**/
        this.nome = c.getNome();
        this.idade = c.getIdade();
    }

    /**outros contrutores**/
    
    public int getIdade() {
        return idade;
    }

    public String getNome() {
        return nome;
    }
    
    /**Outros métodos**/
}

Como implementar:
Continue reading