[RESOLVIDO] Caracteres a mais no arquivo gerado!

7 respostas
alexandref93

Galera… to tentando gerar um arquivo .java pelo próprio java a partir de um JEditorPane e mando salvar tudo e abrir o arquivo no bloco de notas ele parece com caracteres a mais… e por consequencia não compila!!!

JFileChooser fileChoose = new JFileChooser();
        fileChoose.showSaveDialog(this);
        ObjectOutputStream obj = null;
        FileOutputStream out;
        PrintWriter outText;
        try {
            out = new FileOutputStream(fileChoose.getSelectedFile());
            obj = new ObjectOutputStream(out);
            outText = new PrintWriter(obj);
            outText.write(jEditorPane1.getText());
            outText.flush();
            outText.close();
            obj.flush();
            obj.close();
            out.flush();
            out.close();
        } catch (IOException ex) {
            Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
        }

é o texto gerado é esse:

’ wopublic class HelloWorld {
public static void main(String [] args) {
 System.out.println("Hello World");
}
}

O problema que ele criar esse caractere a mais no começo… qual seria o problema disso???

Obrigado desde já!!!

7 Respostas

alexandref93

Alguém???

guisantogui

Cara não entendi, você quer criar um arquivo igual ao seu arquivo atual??? :?

alexandref93

:? acho que me expressei errado… vamos supor que to dando um primeiro passo pra construir um ide… criei um JFrame normal… com um JEditorPane e JButton e mais nada… escrevo um hello world no editorPane e clicar no botão salvar… que é a lógica abaixo:

JFileChooser fileChoose = new JFileChooser();
        fileChoose.showSaveDialog(this);
        ObjectOutputStream obj = null;
        FileOutputStream out;
        PrintWriter outText;
        try {
            out = new FileOutputStream(fileChoose.getSelectedFile());
            obj = new ObjectOutputStream(out);
            outText = new PrintWriter(obj);
            outText.write(jEditorPane1.getText());
            outText.flush();
            outText.close();
            obj.flush();
            obj.close();
            out.flush();
            out.close();
        } catch (IOException ex) {
            Logger.getLogger(MainFrame.class.getName()).log(Level.SEVERE, null, ex);
        }

ele gera o arquivo certinho com extensão java tudo… mais eu não consigo compilar ele por na hora de gerar o arquivo, ele inclue alguns caracteres a mais como o exemplo a seguir que é um HelloWorld.java:

’ wopublic class HelloWorld {
public static void main(String [] args) {
 System.out.println("Hello World");
}
}

que na verdade é pra ser :

public class HelloWorld {
public static void main(String [] args) {
 System.out.println("Hello World");
}
}

Entendeu mais ou menos??? É uma ide bem básica :smiley: (sei que parece pior que um notepad, mais é o primeiro passo);

alexandref93

ninguem???

alexandref93

Agora já conseguir resolver!

Stormqueen1990

Posta qual o problema e qual a solução pro caso de alguém passar pela mesma situação que vc :wink:

alexandref93

Bem… em vez de utilizar a classes FileOutputStream e PrintWriter utiliza o o FileWriter no lugar de FileOutputStream e BufferedWriter no lugar de FileWriter… onde dae ele gera texto puro… sem inserir caracteres a mais.

Criado 26 de janeiro de 2011
Ultima resposta 28 de jan. de 2011
Respostas 7
Participantes 3